abap snippet

Upload: ammerali

Post on 07-Jul-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 Abap Snippet

    1/24

    Open Doc url for Jump report from BW report to Crystal Report 2011

    http://ESSHAZSRV83.srhouse.com:8080/BOE/OpenDocument/opendoc/openDocument.jsp?

    iDocD!A"d#$D"O%&ZHuh'#()*+E,-sD$pe!1DsRe#resh!,)2ZVAR4EE56'E7

    )sS2,A4ZDSRHA5S7

    Authorization code

      WHEN 'YCCS_PROFIT_CTRS'.

      IF i_step = 0. " if 1

      CLEAR l_s_range.

      IF n_re!r"s = 0. " if 3

      SELECT # FRO$ %&i%aa(t)_!*00 INTO CORRESPON+IN, FIEL+S OF TA-LEit_se_atris

      WHERE (sernae = s/(nae.

      EN+IF. " eof 3

      +ESCRI-E TA-LE it_se_atris LINES n_re!r"s .

      LOOP AT it_se_atris INTO ls_aa(t)_!*.

      IF ls_aa(t)_!*%&i%p(rp_1r E2 '' OR ls_aa(t)_!*%&i%p(rp_t!

    E2 '' .

      l_s_rangel!3 = '#'.  l_s_rangesign = 'I'.

      l_s_range!pt = 'CP'.

      APPEN+ l_s_range TO e_t_range.

      CLEAR l_s_range.

      ELSE.

      l_s_rangel!3 = ls_aa(t)_!*%&i%p(rp_1r.

      l_s_rangesign = 'I'.

      l_s_range!pt = '-T'.

      l_s_range)ig) = ls_aa(t)_!*%&i%p(rp_t!.

      APPEN+ l_s_range TO e_t_range.

      CLEAR l_s_range.

      EN+IF.

      EN+LOOP.

      EN+IF

  • 8/19/2019 Abap Snippet

    2/24

    Pr!ess C)ain Pr!gra

    REPORT 4PC_CR$_E5ENTS_ACT5_PR,.

    +ATA6 e7enti" LI8E t&t9!&e7enti":

      e7entpar LI8E t&t9!&e7entpar:

      3a_t7ar7 TYPE t7ar7:

      3a_t7ar7* TYPE t7ar7:

      3a_t7ar7; TYPE t7ar7:

      EN+_+ATE TYPE s/"at(:

      al_"ate TYPE s/"at(.

    e7enti" = '4PC_CR$_ACT5_E5ENTS'. "we defined this event in sm62.

    e7entpar = '4CR$E5ENTACT5PARA$'. "this we will set directly in process chain

    .

    CASE s/"at(;?. " to trigger CRM PC thrice during 2th to !th of every m

    onth

      WHEN ';@' OR ';' OR ';' OR ';B' OR ';' OR 'D0' OR 'D*' !r '0*' OR '0;' OR

    '0D' OR '0' OR '0@' OR '0' OR '0'.

      IF s/(eit ,E '*00000' an" s/eit LE '*D000'. " to trigger only duri

    ng woring hours

      SELECT SIN,LE # FRO$ t7ar7 INTO 3a_t7ar7* WHERE nae = '4CR$_PC_ACT5_T

    I$E'.

      SELECT SIN,LE # FRO$ t7ar7 INTO 3a_t7ar7 WHERE nae = '4CR$_PC_ACT5_+A

    TE'.

      IF s/s(&r = 0.

      IF s/(eit ,E 3a_t7ar7*l!3.

      CALL FNCTION 'RSS$_E5ENT_RAISE'

      EGPORTIN,

      i_e7enti" = e7enti"

      i_e7entpar = e7entpar

      EGCEPTIONS

      &a"_e7enti" = *

      e7enti"_"!es_n!t_eist = ;

      e7enti"_issing = D  raise_1aile" =

      OTHERS = @.

      IF SYS-RC J 0.

      $ESSA,E I+ s/sgi" TYPE s/sgt/ N$-ER s/sgn!

      WITH s/sg7* s/sg7; s/sg7D s/sg7.

      ELSE.

      CASE 3a_t7ar7*l!3.

  • 8/19/2019 Abap Snippet

    3/24

      WHEN '**0000'.

      3a_t7ar7*l!3 = '*@0000'.

      $O+IFY t7ar7 FRO$ 3a_t7ar7*.

      WRITE ' t)rie "ail/ 1irst r(n'.

      WHEN '*@0000'.

      3a_t7ar7*l!3 = '*BD000'.

      $O+IFY t7ar7 FRO$ 3a_t7ar7*.

      WRITE ' t)rie "ail/ se!n" r(n'.

      3)en '*BD000'.

      3a_t7ar7*l!3 = '**0000'.

      $O+IFY t7ar7 FRO$ 3a_t7ar7*.

      WRITE ' t)rie "ail/ t)ir" r(n'.

    # wa$tvarvc%low & sy%datum ' 1.

    # M()*+, tvarvc +R(M wa$tvarvc.

      all 1(nti!n 'SLI$_,ET_START_EN+_+AY'

      ep!rting

      SLI$_$EAS_+ATE = s/"at(

      +AYS_-AC8 = 0

      +AYS_FORWAR+ = *

      ip!rting

      EN+_+ATE = al_"ate.

      3a_t7ar7l!3 = al_"ate.

      WRITE 3a_t7ar7l!3.

      $O+IFY t7ar7 FRO$ 3a_t7ar7.

      lear 6 al_"ate.

      EN+CASE.

      EN+IF.

      EN+IF.

      EN+IF.

      EN+IF.

      WHEN OTHERS.

      SELECT SIN,LE # FRO$ t7ar7 INTO 3a_t7ar7 WHERE nae = '4CR$_PC_ACT5_+ATE

    '.

      IF SYS-RC = 0.  SELECT SIN,LE # FRO$ t7ar7 INTO 3a_t7ar7; WHERE nae = '4CR$_PC_CO

    NTER'.

      IF s/s(&r = 0.

      IF 3a_t7ar7l!3 = s/"at(.

      3a_t7ar7;l!3 = '0'.

      IF s/(eit ,E ';D0000'.

      CALL FNCTION 'RSS$_E5ENT_RAISE'

  • 8/19/2019 Abap Snippet

    4/24

      EGPORTIN,

      i_e7enti" = e7enti"

      i_e7entpar = e7entpar

      EGCEPTIONS

      &a"_e7enti" = *

      e7enti"_"!es_n!t_eist = ;

      e7enti"_issing = D

      raise_1aile" =

      OTHERS = @.

      3a_t7ar7;l!3 = '*'.

      $O+IFY t7ar7 FRO$ 3a_t7ar7;.

      all 1(nti!n 'SLI$_,ET_START_EN+_+AY'

      ep!rting

      SLI$_$EAS_+ATE = s/"at(

      +AYS_-AC8 = 0

      +AYS_FORWAR+ = *

      ip!rting

      EN+_+ATE = al_"ate.

      3a_t7ar7l!3 = al_"ate.

      $O+IFY t7ar7 FRO$ 3a_t7ar7.

      ELSE.

      WRITE 'Tie Is Lesser T)an **'.

      EN+IF.

      EN+IF.

      EN+IF.

      EN+IF.

    EN+CASE.

    Fe A!ap "nippets#

    "nippet 1#

    ase i_"atas!(re.

      3)en '0FI_AR_'.

      per1!r 1et)_pr!1it_enter

      ta&les

      i_t_selet

      i_t_1iel"s

      _t_"ata

      _t_essages

      (sing

  • 8/19/2019 Abap Snippet

    5/24

      i_"atas!(re.

      3)en '0FI_AP_'.

      per1!r Fet)_ser_+etails

      ta&les

      i_t_selet

      i_t_1iel"s

      _t_"ata

      _t_essages

      (sing

      i_"atas!(re.

    "nippet 2#

    FOR$ 1et)_pr!1it_enter TA-LES p_i_t_selet

      p_i_t_1iel"s

      p__t_"ata STRCTRE "t1iar_D

      p__t_essages

      SIN, p_i_"atas!(re.

      TYPES6 -E,IN OF t/_1agl1lea:

      &elnr TYPE 1agl1lea&elnr:

      r&(Krs TYPE 1agl1lear&(Krs:

      g9a)r TYPE 1agl1leag9a)r:

      &(ei TYPE 1agl1lea&(ei:

      rat TYPE 1agl1learat:

      rl"nr TYPE 1agl1learl"nr:

      prtr TYPE 1agl1leaprtr:

      EN+ OF t/_1agl1lea.

      +ATA6 it_1agl1lea TYPE STAN+AR+ TA-LE OF t/_1agl1lea:

      3a_1agl1lea TYPE t/_1agl1lea.

      +ATA6 t_(st_line_ites LI8E "t1iar_D.

      +ATA6 l_ta&i LI8E s/ta&i.

      CLEAR 6 it_1agl1leaM.

      IF p__t_"ataM IS NOT INITIAL.

      SELECT &elnr r&(Krs g9a)r &(ei rat rl"nr prtr FRO$ 1agl1lea

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_1agl1lea

      FOR ALL ENTRIES IN p__t_"ata

      WHERE &elnr = p__t_"ata&elnr AN+

      r&(Krs = p__t_"ata&(Krs AN+

  • 8/19/2019 Abap Snippet

    6/24

      g9a)r = p__t_"atag9a)r AN+

      &(ei = p__t_"ata&(ei AN+

      rat = p__t_"ata)K!nt AN+

      rl"nr = '0L'.

      IF s/s(&r = 0.

      SORT it_1agl1lea ASCEN+IN, -Y &elnr r&(Krs g9a)r &(ei rat rl"nr.

      EN+IF.

      EN+IF.

      LOOP AT p__t_"ata INTO t_(st_line_ites.

      l_ta&i = s/ta&i.

      REA+ TA-LE it_1agl1lea INTO 3a_1agl1lea WITH 8EY

      &elnr = t_(st_line_ites&elnr

      r&(Krs = t_(st_line_ites&(Krs

      g9a)r = t_(st_line_itesg9a)r

      &(ei = t_(st_line_ites&(ei

      rat = t_(st_line_ites)K!nt

      rl"nr = '0L' -INARY SEARCH.

      IF s/s(&r = 0.

      t_(st_line_itesprtr = 3a_1agl1leaprtr.

      EN+IF.

      $O+IFY p__t_"ata FRO$ t_(st_line_ites IN+EG l_ta&i.

      CLEAR 6 t_(st_line_ites:l_ta&i: 3a_1agl1lea.

      EN+LOOP.

    EN+FOR$.

    Snippet D

    +ATA 6 it_re1 TYPE STAN+AR+ TA-LE OF "t1iap_D:  it_"!t/pe TYPE STAN+AR+ TA-LE OF "t1iap_D:

      it_ta& TYPE STAN+AR+ TA-LE OF t/_ta&:

      it_&Kp1 TYPE STAN+AR+ TA-LE OF t/_&Kp1:

      it_lr_&Kp1 TYPE STAN+AR+ TA-LE OF t/_&Kp1:

      it_lear TYPE STAN+AR+ TA-LE OF t/_ta&:

      it_1agl1lea t/pe STAN+AR+ TA-LE OF t/_1agl1lea:

      3a_1agl1lea t/pe t/_1agl1lea:

  • 8/19/2019 Abap Snippet

    7/24

      3a_lear TYPE t/_ta&:

      3a_&Kp1 TYPE t/_&Kp1:

      3a_ta& TYPE t/_ta&.

      FIEL+SY$-OLS6 l3_ta&J TYPE "t1iap_D.

    LOOP AT p__t_"ata ASSI,NIN, l3_ta&J.  IF l3_ta&J(sK = 'A' OR l3_ta&Jre&g IS NOT INITIAL.

      REA+ TA-LE it_ta& INTO 3a_ta&

      WITH 8EY

      &(Krs = l3_ta&J&(Krs

      li1nr = l3_ta&Jli1nr

      (sK = l3_ta&J(sK

      a(g"t = l3_ta&Ja(g"t

      a(g&l = l3_ta&Ja(g&l

      g9a)r = l3_ta&Jg9a)r

      &elnr = l3_ta&J&elnr

      &(ei = l3_ta&J&(ei -INARY SEARCH.

      IF s/s(&r = 0.

      IF l3_ta&Jre&g IS NOT INITIAL.

      l3_ta&Jre&t = 3a_ta&re&t.

      EN+IF.

      IF l3_ta&J(sK = 'A'.

      l3_ta&Je&eln = 3a_ta&e&eln.

      l3_ta&Je&elp = 3a_ta&e&elp.

      EN+IF.

      EN+IF.

      IF l3_ta&Jre&g IS NOT INITIAL.

      REA+ TA-LE it_&Kp1 INTO 3a_&Kp1 WITH 8EY

      &(Krs = l3_ta&J&(Krs  &elnr = l3_ta&Jre&g

      g9a)r = l3_ta&Jre&9 -INARY SEARCH.

      IF s/s(&r = 0.

      l3_ta&Jre&lart = 3a_&Kp1&lart.

      EN+IF.

      EN+IF.

      EN+IF.

      IF l3_ta&Ja(g&l IS NOT INITIAL.

      CLEAR6 3a_&Kp1: 3a_lear.

      REA+ TA-LE it_lear INTO 3a_lear

      WITH 8EY &(Krs = l3_ta&J&(Krs

      li1nr = l3_ta&Jli1nr  (sK = l3_ta&J(sK

      a(g"t = l3_ta&Ja(g"t

      a(g&l = l3_ta&Ja(g&l

      g9a)r = l3_ta&Jg9a)r

      &elnr = l3_ta&J&elnr

      &(ei = l3_ta&J&(ei -INARY SEARCH.

      IF s/s(&r = 0.

      REA+ TA-LE it_lr_&Kp1 INTO 3a_&Kp1 WITH 8EY

  • 8/19/2019 Abap Snippet

    8/24

      &(Krs = 3a_lear&(Krs

      &elnr = 3a_leara(g&l

      g9a)r = 3a_leara(gg9 -INARY SEARCH.

      IF s/s(&r = 0.

      l3_ta&Jl&lart = 3a_&Kp1&lart.

      EN+IF.

      EN+IF.

      EN+IF.

      rea" ta&le it_1agl1lea int! 3a_1agl1lea 3it) Ke/

      &elnr = l3_ta&J&elnr

      r&(Krs = l3_ta&J&(Krs

      g9a)r = l3_ta&Jg9a)r

      &(ei = l3_ta&J&(ei

      rat = l3_ta&J)K!nt

      rl"nr = '0L' -INARY SEARCH.

      i1 s/s(&r = 0.

      l3_ta&Jprtr = 3a_1agl1leaprtr.

      en"i1.

      CLEAR6 3a_ta&: 3a_&Kp1: 3a_lear: 3a_1agl1lea.

      EN+LOOP.

      EN+IF.

    Snippet

     IF it_ta&M IS NOT INITIAL.

      SORT it_ta& ASCEN+IN, -Y &(Krs li1nr (sK a(g"t a(g&l g9a)r &elnr &(ei

      EN+IF.

    Snippet @.

    IF it_re1M IS NOT INITIAL.  SELECT &(Krs li1nr (sK a(g"t a(g&l g9a)r &elnr &(ei e&eln e&elp re&g

    re&9 re& re&t a(gg9

      FRO$ &saK

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_lear

      FOR ALL ENTRIES IN it_re1

      WHERE &(Krs = it_re1&(Krs AN+

      li1nr = it_re1li1nr AN+

      (sK = it_re1(sK AN+

  • 8/19/2019 Abap Snippet

    9/24

      a(g"t = it_re1a(g"t AN+

      a(g&l = it_re1a(g&l AN+

      g9a)r = it_re1g9a)r AN+

      &elnr = it_re1&elnr AN+

      &(ei = it_re1&(ei.

    IF it_re1M IS NOT INITIAL.  SELECT &(Krs li1nr (sK a(g"t a(g&l g9a)r &elnr &(ei e&eln e&elp re&g

    re&9 re& re&t a(gg9

      FRO$ &siK

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_ta&

      FOR ALL ENTRIES IN it_re1

      WHERE &(Krs = it_re1&(Krs AN+

      li1nr = it_re1li1nr AN+

      (sK = it_re1(sK AN+

      a(g"t = it_re1a(g"t AN+

      a(g&l = it_re1a(g&l AN+

      g9a)r = it_re1g9a)r AN+

      &elnr = it_re1&elnr AN+

      &(ei = it_re1&(ei.

      SELECT &(Krs li1nr (sK a(g"t a(g&l g9a)r &elnr &(ei e&eln e&elp re&g

    re&9 re& re&t a(gg9

      FRO$ &saK

      APPEN+IN, CORRESPON+IN, FIEL+S OF TA-LE it_ta&

      FOR ALL ENTRIES IN it_re1

      WHERE &(Krs = it_re1&(Krs AN+

      li1nr = it_re1li1nr AN+

      (sK = it_re1(sK AN+

      a(g"t = it_re1a(g"t AN+  a(g&l = it_re1a(g&l AN+

      g9a)r = it_re1g9a)r AN+

      &elnr = it_re1&elnr AN+

      &(ei = it_re1&(ei.

      EN+IF.

    "nippet $#

    l!!p at p__t_"ata int! t_p(r_it_line.

      l_ta&i = s/ta&i.

      i1 t_p(r_it_line8NTTP is n!t initial.

      Rea" ta&le it_eKKn int! 3a_eKKn

      3it) Ke/ e&eln = t_p(r_it_linee&eln

      e&elp = t_p(r_it_linee&elp &inar/ sear).

      i1 s/s(&r = 0.

      Rea" ta&le it_prps int! 3a_prps

      3it) Ke/ pspnr = 3a_eKKnps_psp_pnr &inar/ sear).

  • 8/19/2019 Abap Snippet

    10/24

      i1 s/s(&r = 0.

      t_p(r_it_lineps_psp_pnr = 3a_prpsp!si".

      t_p(r_it_lineprtr = 3a_prpsprtr.

      en"i1.

      en"i1.

      else.

      rea" ta&le it_eKp! int! 3a_eKp!

      3it) Ke/ e&eln = t_p(r_it_linee&eln

      e&elp = t_p(r_it_linee&elp &inar/ sear).

      i1 s/s(&r = 0.

      t_p(r_it_lineprtr = 3a_eKp!prtr.

      en"i1.

      en"i1.

      i1 t_p(r_it_line-SART CP '44#'.

      rea" ta&le it_eKK! int! 3a_eKK! 3it) Ke/ e&eln = t_p(r_it_linee&eln &i

    nar/ sear).

      i1 s/s(&r = 0.

      t_p(r_it_line44FR,8E = 3a_eKK!1rgKe.

      en"i1.

      else.

      rea" ta&le it_ere7 int! 3a_ere7 3it) Ke/ -STYP = t_p(r_it_line-STYP

      E+O8N = t_p(r_it_lineE-ELN

      RE5NO = '00000000' -INARY SEARC

    H.

      i1 s/s(&r = 0 an" 3a_ere7F,+AT is n!t initial.

      t_p(r_it_line44FR,8E = 'R'.

      en"i1.

      EN+IF.

      !"i1/ p__t_"ata 1r! t_p(r_it_line in"e l_ta&i.

      lear 6 t_p(r_it_line:l_ta&i: 3a_eKKn :3a_prps: 3a_eKp!.

      en"l!!p.

    "nippet %

    FOR$ FETCH_5EN+OR TA-LES P_I_T_SELECT

      P_I_T_FIEL+S

      P_C_T_+ATA STRCTRE +TFI,L_  P_C_T_$ESSA,ES

      SIN, P_I_+ATASORCE.

    "ata6 IT_44LIFNR liKe +TFI,L_.

    "ata6 5_ta&i liKe s/ta&i.

  • 8/19/2019 Abap Snippet

    11/24

    l!!p at P_C_T_+ATA int! IT_44LIFNR.

      5_ta&i = s/ta&i.

      selet single LIFNR 1r! -SE,

      int! IT_44LIFNR44LIFNR

      3)ere -8RS = IT_44LIFNR-8RS an"

      -ELNR = IT_44LIFNR-ELNR an"

      ,AHR = IT_44LIFNRFISCPER? an"

      LIFNR ne ''.

      !"i1/ p__t_"ata 1r! IT_44LIFNR in"e 5_ta&i.

      lear 6 IT_44LIFNR.

      lear 6 5_ta&i.

    en"l!!p.

    "-nd of endor 

    " /tart of 0/ % li (da

    "ata6 IT_W-S liKe +TFI,L_.

    "ata6 W_ta&i liKe s/ta&i.

    l!!p at P_C_T_+ATA int! IT_W-S.

      W_ta&i = s/ta&i.

      selet single PRO8 1r! -SE,

      int! IT_W-S44PRO8

      3)ere -8RS = IT_W-S-8RS an"

      -ELNR = IT_W-S-ELNR an"

      ,AHR = IT_W-SFISCPER? AN+  -4EI = IT_W-S-4EI.

     CALL FNCTION 'CON5ERSION_EGIT_A-PSP_OTPT'

      EGPORTIN,

      INPT = IT_W-S44PRO8

     I$PORTIN,

      OTPT = IT_W-S44PRO8.

      !"i1/ p__t_"ata 1r! IT_W-S in"e W_ta&i.

      lear 6 IT_W-S.

      lear 6 W_ta&i.

    en"l!!p.

  • 8/19/2019 Abap Snippet

    12/24

    "ata6 IT_PC liKe +TFI,L_.

    "ata6 P_ta&i liKe s/ta&i.

    l!!p at P_C_T_+ATA int! IT_PC.

      P_ta&i = s/ta&i.

      selet single PRCTR 1r! FA,LFLEGA

      int! IT_PC44PRCTR

      3)ere R-8RS = IT_PC-8RS an"

      +OCNR = IT_PC-ELNR an"

      RYEAR = IT_PCFISCPER? an"

      RL+NR = '0L'.

      !"i1/ p__t_"ata 1r! IT_PC in"e P_ta&i.

      lear 6 IT_PC.

      lear 6 P_ta&i.

    en"l!!p.

    Snippet B

    FOR$ 1et)_in7!ie TA-LES p_i_t_selet

      p_i_t_1iel"s

      p__t_"ata STRCTRE 0_0it

      p__t_essages

      SIN, p_i_"atas!(re.

      TYPES6 -E,IN OF t/_rseg:

      &elnr TYPE rseg&elnr:

      g9a)r TYPE rsegg9a)r:

      &(ei TYPE rseg&(ei:

      e&eln TYPE rsege&eln:

      EN+ OF t/_rseg.

      TYPES6 -E,IN OF t/_r&Kp:

      &elnr TYPE r&Kp&elnr:

      g9a)r TYPE r&Kpg9a)r:

      li1nr TYPE r&Kpli1nr:

      EN+ OF t/_r&Kp.

      TYPES 6 -E,IN OF t/_eK&e:

      e&eln TYPE eK&ee&eln:

      e&elp TYPE eK&ee&elp:

      eKKn TYPE eK&eeKKn:

      7ga&e TYPE eK&e7ga&e:

      g9a)r TYPE eK&eg9a)r:

      &elnr TYPE eK&e&elnr:

      &(ei TYPE eK&e&(ei:

  • 8/19/2019 Abap Snippet

    13/24

      l1&nr TYPE eK&el1&nr:

      l1g9a TYPE eK&el1g9a:

      l1p!s TYPE eK&el1p!s:

      3r&tr TYPE eK&e3r&tr:

      3aers TYPE eK&e3aers:

      sr7p!s TYPE eK&esr7p!s:

      paKn! TYPE eK&epaKn!:

      intr!3 TYPE eK&eintr!3:

      &("at TYPE eK&e&("at:

      EN+ OF t/_eK&e.

      TYPES 6 -E,IN OF t/_eKp!:

      e&eln TYPE eKp!e&eln:

      e&elp TYPE eKp!e&elp:

      paKn! TYPE eKp!paKn!:

      EN+ OF t/_eKp!.

      TYPES 6 -E,IN OF t/_esll:

      paKn! TYPE esllpaKn!:

      s(&_paKn! TYPE eslls(&_paKn!:

      EN+ OF t/_esll.

      TYPES 6 -E,IN OF t/_esll*:

      paKn! TYPE esllpaKn!:

      sr7p!s TYPE esllsr7p!s:

      net3r TYPE esllnet3r:

      etr!3 TYPE eslletr!3:

      intr!3 TYPE esllintr!3:

      EN+ OF t/_esll*.

      TYPES 6 -E,IN OF t/_esll;:

      paKn! TYPE esllpaKn!:

      intr!3 TYPE esllintr!3:

      pln_paKn! TYPE esllpln_paKn!:

      pln_intr!3 TYPE esllpln_intr!3:

      EN+ OF t/_esll;.

      +ATA6 it_ite TYPE STAN+AR+ TA-LE OF 0_0it:

      it_rseg TYPE STAN+AR+ TA-LE OF t/_rseg:

      it_gr TYPE STAN+AR+ TA-LE OF 0_0it:  it_sr TYPE STAN+AR+ TA-LE OF 0_0it:

      it_gr_all TYPE STAN+AR+ TA-LE OF 0_0it:

      3a_gr_all TYPE 0_0it:

      it_eK&e_gr TYPE STAN+AR+ TA-LE OF t/_eK&e:

      it_eK&e_sr TYPE STAN+AR+ TA-LE OF t/_eK&e:

      3a_eK&e_gr TYPE t/_eK&e:

      3a_eK&e_sr TYPE t/_eK&e:

  • 8/19/2019 Abap Snippet

    14/24

      3a_rseg TYPE t/_rseg:

      it_r&Kp TYPE STAN+AR+ TA-LE OF t/_r&Kp:

      3a_r&Kp TYPE t/_r&Kp:

      3a_"ata TYPE 0_0it:

      a3Ke/ TYPE &Kp1a3Ke/:

      it_eKp! TYPE STAN+AR+ TA-LE OF t/_eKp!:

      3a_eKp! TYPE t/_eKp!:

      it_esll TYPE STAN+AR+ TA-LE OF t/_esll:

      3a_esll TYPE t/_esll:

      it_esll* TYPE STAN+AR+ TA-LE OF t/_esll*:

      3a_esll* TYPE t/_esll*:

      it_esll; TYPE STAN+AR+ TA-LE OF t/_esll;:

      3a_esll; TYPE t/_esll;.

      FIEL+SY$-OLS 6 l3_"ataJ TYPE 0_0it.

      IF p__t_"ataM IS NOT INITIAL.

      CLEAR6 it_iteM: it_rsegM: it_r&KpM: 3a_"ata: 3a_rseg: 3a_r&Kp: a3Ke/:

    it_grM: it_srM:

      it_eK&e_grM: it_eK&e_srM: 3a_eK&e_gr: 3a_eK&e_sr: it_gr_allM:

    3a_gr_all: it_eKp!M:

      it_esllM: 3a_eKp!: 3a_esll: it_esll*M: 3a_esll*: it_esll;M: 3a

    _esll;.

      it_grM = p__t_"ataM. " eep only lines with R 4o.

      +ELETE it_gr WHERE l1&nr = ''.

    # it$gr$all5 & it$gr5.

      SORT it_gr ASCEN+IN, -Y l1&nr l1g9a l1p!s.

      +ELETE A+ACENT +PLICATES FRO$ it_gr CO$PARIN, l1g9a l1&nr l1g9a l1p!s.

      it_srM = it_grM.

      it_gr_allM = it_grM.

    # /(R7 it$gr$all descending , 8elnr g9ahr 8u:ei co8l$nr.

    # delete );C-47 )

  • 8/19/2019 Abap Snippet

    15/24

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_eK&e_gr

      FOR ALL ENTRIES IN it_gr

      WHERE e&eln = it_gre&eln

      AN+ e&elp = it_gre&elp

      AN+ 7ga&e = '*'

      AN+ g9a)r = it_grl1g9a

      AN+ &elnr = it_grl1&nr

      AN+ &(ei = it_grl1p!s.

      IF s/s(&r = 0.

      SORT it_eK&e_gr ASCEN+IN, -Y e&eln e&elp 7ga&e g9a)r &elnr &(ei.

      EN+IF.

      EN+IF.

      IF it_srM IS NOT INITIAL.

      SELECT e&eln e&elp paKn!

      FRO$ eKp! INTO CORRESPON+IN, FIEL+S OF TA-LE it_eKp! FOR ALL ENTRIES IN

    it_sr

      WHERE e&eln = it_sre&eln AN+

      e&elp = it_sre&elp.

      IF s/s(&r = 0.

      SORT it_eKp! ASCEN+IN, -Y e&eln e&elp.

      EN+IF.

      SELECT paKn! s(&_paKn!

      FRO$ esll INTO CORRESPON+IN, FIEL+S OF TA-LE it_esll FOR ALL ENTRIES IN

    it_eKp!

      WHERE paKn! = it_eKp!paKn!.

      IF s/s(&r = 0.

      SORT it_esll ASCEN+IN, -Y paKn!.

      EN+IF.

      SELECT paKn! sr7p!s net3r etr!3 intr!3

      FRO$ esll INTO CORRESPON+IN, FIEL+S OF TA-LE it_esll* FOR ALL ENTRIES IN

    it_esll

      WHERE paKn! = it_eslls(&_paKn!.

      IF s/s(&r = 0.

      SORT it_esll* ASCEN+IN, -Y paKn! sr7p!s intr!3.

      EN+IF.

      SELECT e&eln e&elp eKKn 7ga&e g9a)r &elnr &(ei l1g9a l1&nr l1p!s 3r&tr

    3aers sr7p!s paKn! intr!3 &("at

      FRO$ eK&e

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_eK&e_sr

      FOR ALL ENTRIES IN it_sr

  • 8/19/2019 Abap Snippet

    16/24

      WHERE e&eln = it_sre&eln

      AN+ e&elp = it_sre&elp

      AN+ 7ga&e = '*'

      AN+ l1&nr = it_srl1&nr

      AN+ l1g9a = it_srl1g9a

      AN+ l1p!s = it_srl1p!s.

      IF s/s(&r = 0.

    # /(R7 it$e8e$sr /C-4)*4 , e8eln e8elp vga8e g9ahr lf8nr lfg9a lfp

    os.

      SORT it_eK&e_sr ASCEN+IN, -Y e&eln e&elp 7ga&e l1g9a l1&nr l1p!s.

      SELECT paKn! intr!3 pln_paKn! pln_intr!3 FRO$ esll

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_esll;

      FOR ALL ENTRIES IN it_eK&e_sr

      WHERE paKn! = it_eK&e_srpaKn!

      AN+ intr!3 = it_eK&e_srintr!3.

      IF s/s(&r = 0.

      SORT it_esll; ASCEN+IN, -Y paKn! intr!3.

      EN+IF.

      EN+IF.

      EN+IF.

      it_iteM = p__t_"ataM.

    # )-=-7- it$item 0>-R- 8u:ei & ?. " delete all header lines

    # delete it$item where C(=$4R & ?. " delete 8lan se@uence no  SORT it_ite ASCEN+IN, -Y &elnr g9a)r &(ei !&l_nr.

      +ELETE A+ACENT +PLICATES FRO$ it_ite CO$PARIN, &elnr g9a)r. " eep onl

    y the first line item

      SELECT &elnr g9a)r &(ei e&eln " get po from rseg 

      FRO$ rseg

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_rseg

      FOR ALL ENTRIES IN it_ite

      WHERE &elnr = it_ite&elnr

      AN+ g9a)r = it_iteg9a)r.

    # 4) 8u:ei & it$item%8u:ei.

      SORT it_rseg ASCEN+IN, -Y &elnr g9a)r &(ei.

      +ELETE A+ACENT +PLICATES FRO$ it_rseg CO$PARIN, &elnr g9a)r.

      SORT it_rseg ASCEN+IN, -Y &elnr g9a)r.

      SELECT &elnr g9a)r li1nr " get vendor from r8p

      FRO$ r&Kp

  • 8/19/2019 Abap Snippet

    17/24

      INTO CORRESPON+IN, FIEL+S OF TA-LE it_r&Kp

      FOR ALL ENTRIES IN it_ite

      WHERE &elnr = it_ite&elnr

      AN+ g9a)r = it_iteg9a)r.

      SORT it_r&Kp ASCEN+IN, -Y &elnr g9a)r.

      LOOP AT p__t_"ata ASSI,NIN, l3_"ataJ.

      IF l3_"ataJ&(ei = 0.

      REA+ TA-LE it_r&Kp INTO 3a_r&Kp

      WITH 8EY &elnr = l3_"ataJ&elnr

      g9a)r = l3_"ataJg9a)r -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJli1nr = 3a_r&Kpli1nr.

      EN+IF.

      REA+ TA-LE it_rseg INTO 3a_rseg

      WITH 8EY &elnr = l3_"ataJ&elnr

      g9a)r = l3_"ataJg9a)r -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJe&eln = 3a_rsege&eln.

      EN+IF.

      ELSEIF NOT l3_"ataJl1&nr IS INITIAL.

      CASE l3_"ataJpst/p.

      WHEN ''.

      REA+ TA-LE it_eKp! INTO 3a_eKp! WITH 8EY

      e&eln = l3_"ataJe&eln

      e&elp = l3_"ataJe&elp.

      IF s/s(&r = 0.

      l3_"ataJpaKn! = 3a_eKp!paKn!.

      EN+IF.

      REA+ TA-LE it_esll INTO 3a_esll WITH 8EY

      paKn! = l3_"ataJpaKn!.

      IF s/s(&r = 0.

      l3_"ataJs(&paK = 3a_eslls(&_paKn!.

      EN+IF.

      REA+ TA-LE it_eK&e_sr INTO 3a_eK&e_sr

      WITH 8EY e&eln = l3_"ataJe&eln

      e&elp = l3_"ataJe&elp

      7ga&e = '*'

    # g9ahr & Alw$dataB%lfg9a

  • 8/19/2019 Abap Snippet

    18/24

      l1g9a = l3_"ataJl1g9a

      l1&nr = l3_"ataJl1&nr

      l1p!s = l3_"ataJl1p!s -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJ&elnr = 3a_eK&e_sr&elnr.

      l3_"ataJsr7p!s = 3a_eK&e_srsr7p!s.

      l3_"ataJgrn"ate = 3a_eK&e_sr&("at.

      REA+ TA-LE it_esll; INTO 3a_esll; WITH 8EY paKn! = 3a_eK&e_sr

    paKn!

      intr!3 = 3a_eK&e_sr

    intr!3 -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJintr!3 = 3a_esll;pln_intr!3.

      EN+IF.

      REA+ TA-LE it_esll* INTO 3a_esll* WITH 8EY paKn! = l3_"ataJ

    s(&paK

      sr7p!s = l3_"ataJsr7p!s

      intr!3 = l3_"ataJintr!3 -I

    NARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJetr!3 = 3a_esll*etr!3.

      EN+IF.

      REA+ TA-LE it_gr_all INTO 3a_gr_all

      WITH 8EY &elnr = l3_"ataJ&elnr

      &(ei = l3_"ataJ&(ei

      g9a)r = l3_"ataJg9a)r

      !&l_nr = l3_"ataJ!&l_nr -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJ3r&tr = 3a_eK&e_sr3r&tr.  l3_"ataJ3aers = 3a_eK&e_sr3aers.

      EN+IF.

      EN+IF.

      WHEN OTHERS.

      l3_"ataJ&elnr = l3_"ataJl1&nr.

      REA+ TA-LE it_eK&e_gr INTO 3a_eK&e_gr

      WITH 8EY e&eln = l3_"ataJe&eln

      e&elp = l3_"ataJe&elp

      7ga&e = '*'

      g9a)r = l3_"ataJl1g9a

      &elnr = l3_"ataJl1&nr  &(ei = l3_"ataJl1p!s -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJgrn"ate = 3a_eK&e_gr&("at.

      REA+ TA-LE it_gr_all INTO 3a_gr_all

      WITH 8EY &elnr = l3_"ataJ&elnr

      &(ei = l3_"ataJ&(ei

      g9a)r = l3_"ataJg9a)r

  • 8/19/2019 Abap Snippet

    19/24

      !&l_nr = l3_"ataJ!&l_nr -INARY SEARCH.

      IF s/s(&r = 0.

      l3_"ataJ3r&tr = 3a_eK&e_gr3r&tr.

      l3_"ataJ3aers = 3a_eK&e_gr3aers.

      EN+IF.

      EN+IF.

      EN+CASE.

      EN+IF.

      CLEAR 6 3a_r&Kp: 3a_rseg: 3a_eK&e_gr: 3a_eK&e_sr: 3a_gr_all: 3a_esll;: 3

    a_eKp!: 3a_esll: 3a_esll*.

      EN+LOOP.

      EN+IF.

    EN+FOR$.

    Snippet

    FOR$ )ge_7!p TA-LES p_i_t_selet

      p_i_t_1iel"s

      p__t_"ata STRCTRE !n7"0;@

      p__t_essages

      SIN, p_i_"atas!(re.

      TYPES 6 -E,IN OF t/_t0;B):

      7t/p TYPE t0;B)7t/p:

      7gan TYPE t0;B)7gan:

      7!p TYPE t0;B)7!p:

      intag TYPE t0;B)intag:

      EN+ OF t/_t0;B).

      +ATA 6 it_t0;B) TYPE TA-LE OF t/_t0;B):

      3a_t0;B) TYPE t/_t0;B):

      3a_1igl_7ie3 TYPE !n7"0;@:

      l_ta&i LI8E s/ta&i.

      IF p__t_"ataM IS NOT INITIAL.

      SELECT

      7t/p

      7gan

      7!p

      intag

      FRO$ t0;B) INTO CORRESPON+IN, FIEL+S OF TA-LE it_t0;B) FOR ALL ENTRIES IN

  • 8/19/2019 Abap Snippet

    20/24

    p__t_"ata

      WHERE 7gan = p__t_"ata7gan.

      IF s/s(&r = 0.

      SORT it_t0;B) ASCEN+IN, -Y 7gan.

      EN+IF.

      EN+IF.

      LOOP AT p__t_"ata INTO 3a_1igl_7ie3.

      l_ta&i = s/ta&i.

      REA+ TA-LE it_t0;B) INTO 3a_t0;B) WITH 8EY 7gan = 3a_1igl_7ie37gan -INA

    RY SEARCH.

      IF 3a_t0;B)7!p = ''.

      3a_1igl_7ie37!p = 3a_t0;B)7!p.

      3a_1igl_7ie3r3&tr = * # 3a_1igl_7ie3r3&tr.

      EN+IF.

      $O+IFY p__t_"ata FRO$ 3a_1igl_7ie3 IN+EG l_ta&i.

      CLEAR 6 3a_1igl_7ie3: 3a_t0;B).

      EN+LOOP.

    "nippet 10

    lear6 it_"M: 3a_":it_apM: 3a_ap: 3a_init_1lag.

    selet single # 1r! t7ar7 int! 3a_init_1lag

      3)ere nae = '4LI5_+SO*_INIT_ON'.

      i1 SORCE_PAC8A,EM is n!t initial.

      selet # 1r! %-IC%A4P;P_O0D00

      int! CORRESPON+IN, FIEL+S OF TA-LE it_"

      1!r all entries in SORCE_PAC8A,E

      3)ere +OC_N$ = SORCE_PAC8A,E--P_PO_I+ an"

      SORSYSTE$ = SORCE_PAC8A,ESORSYSTE$.

      i1 s/s(&r = 0.  s!rt it_" asen"ing &/ +OC_N$ SORSYSTE$.

      en"i1.

      selet CO$P_CO+E AC_+OC_NO FISCYEAR AC_+OC_TYP PS$_AW8EY

      1r! %-IC%A4FIAP_OD00

      int! CORRESPON+IN, FIEL+S OF TA-LE it_ap

      1!r all entries in SORCE_PAC8A,E

      3)ere CO$P_CO+E = SORCE_PAC8A,ECO$P_CO+E an"

  • 8/19/2019 Abap Snippet

    21/24

      PS$_AW8EY = SORCE_PAC8A,EPS$_AW8EY an"

      AC_+OC_TYP = 'RE'.

      i1 s/s(&r = 0.

      s!rt it_ap asen"ing &/ CO$P_CO+E PS$_AW8EY.

      en"i1.

      en"i1.

    Snippet **

    SELECT %-IC%4TCTSRN$

      %-IC%4SER_S-

      %-IC%4SR_CITY

      %-IC%4SR_NA$

      %-IC%4SRFNA$E

    FRO$ %-IC%A4SRS-00 int! CORRESPON+IN, FIEL+S OF TA-LE it_(srs&(.

    SORT it_(srs&( &/ %-IC%4SR_NA$.

    lear 3a_(srs&(.

      REA+ TA-LE it_(srs&( int! 3a_(srs&( 3it) Ke/ %-IC%4SR_NA$ =

      SORCE_FIEL+STCTSERN$ -INARY SEARCH.

      i1 s/s(&r = 0.

      RESLT = 3a_(srs&(%-IC%4SER_S-.

      ELSE.  RESLT = ' '.

      EN+IF.

      !n"ense RESLT.

    Snippet *;

    "ata 6 it_ta t/pe STAN+AR+ TA-LE OF ta:

      RETRNCO+E t/pe s/s(&r:

      3a_ta t/pe ta.

    lear6 it_taM: 3a_ta: RESLT.

    i1 SORCE_FIEL+S--P_EGP5AL ne 0.

  • 8/19/2019 Abap Snippet

    22/24

      CALL FNCTION '4_PO_TAG_CALCLATE'

      EGPORTIN,

      i_&(Krs = SORCE_FIEL+SCO$P_CO+E

      i_3sK = SORCE_FIEL+S--P_TAGCO+

      i_3aers = SORCE_FIEL+SOR+ER_CRR

      i_3r&tr = SORCE_FIEL+S--P_EGP5AL

      TA-LES

      t_3"at = it_ta

      EGCEPTIONS

      TAG_PROC_NOT_FON+ = *

      TAG_CO+E_NOT_FON+ = ;

      OTHERS = D

      .

      IF s/s(&r J 0.

      RETRNCO+E = .

      else.

      i1 it_taM is n!t initial.

      s!rt it_ta asen"ing &/ %-IC%4STNR.

      " /7

  • 8/19/2019 Abap Snippet

    23/24

     lear it_paKageM.

      L!!p at RESLT_PAC8A,E int! 3a_paKage.

      i1 3a_paKage!p_!"e e ';*'.

      rea" ta&le it_pers_area 3it) Ke/

      pers_area = 3a_paKagepers_area

      transp!rting n! 1iel"s.

      i1 s/s(&r = 0.

      appen" 3a_paKage t! it_paKage.

      en"i1.

      else.

      appen" 3a_paKage t! it_paKage.

      en"i1.

      en"l!!p.

    lear RESLT_PAC8A,EM.

    lear 3a_paKage.

    L!!p at it_paKage int! 3a_paKage.

      3a_paKagere!r" = s/ta&i.

      appen" 3a_paKage t! RESLT_PAC8A,E.

    en"l!!p.

    Snippet *

    CALL FNCTION 'CR$_CON5ERT_CRRENCY'  EGPORTIN,

      I5_EGCH_RATE_+ATE = SY+ATLO

      I5_SORCE_CRRENCY = '4INCR'

      I5_LOCAL_CRRENCY = '4INCR'

      I5_TAR,ET_CRRENCY = '4S$N'

      CHAN,IN,

      C5_5ALE = it_!pp_I44EPL_PRICE.

    Snippet *@

    "ata6 l_i" liKe s/ta&i.

    "ata 6 liKe T00-POPER:

      !nt)>;? t/pe :

      /ear liKe T00--+AT.

    rea" ta&le l_t_range 3it) Ke/

      1iel"nae = 'CAL$ONTH'.

  • 8/19/2019 Abap Snippet

    24/24

    l_i" = s/ta&i.

    CALL FNCTION '+ATE_TO_PERIO+_CON5ERT'

      EGPORTIN,

      i_"ate = s/"at(

    # *$M(4M*7 & ??

      i_peri7 = '4H'

     I$PORTIN,

      E_-PER =

      E_,AHR = /ear

    # -DC-P7*(4/ 

    # *4P