<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic CODE FOR DATA RETRIEVAL FROM RT TABLE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567794#M585982</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HELLO FRIENDS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I HAVE A PROBLEM WHERE I WANT TO RETRIEVE DATA FROM RT TABLE BUT I AM NOT ABLE TO GET IT.&lt;/P&gt;&lt;P&gt;THIS IS MY CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZABAP
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  ZABAP NO STANDARD PAGE HEADING LINE-SIZE 620.

TABLES: PERNR,PC261,T52DB,V_512W_D,T512T, T512W,HRPY_RGDIR,BNKA,T5R05, T500L.

INFOTYPES: 0001,0185,0000,0587,0588,0008,0002,0009,1001.

DATA: IN_RGDIR LIKE TABLE OF PC261 WITH HEADER LINE,
      WA_CRT LIKE PC208 OCCURS 0 WITH HEADER LINE,
      WA_RT LIKE TABLE OF PC207 WITH HEADER LINE,
*      WPBP LIKE TABLE OF PC205 WITH HEADER LINE,

      MYCRT LIKE TABLE OF PC208 WITH HEADER LINE,
      MYRT LIKE TABLE OF PC207 WITH HEADER LINE,
      RESULT TYPE PAY99_RESULT,
      PY_RESULT TYPE PAYIN_RESULT,
      EVAL_CLS LIKE T512T OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF LTX OCCURS 0,
      LTX LIKE T247-LTX,
      END OF LTX.

DATA: BEGIN OF RES OCCURS 0,
      LGART LIKE T512T-LGART,
      AKLAS LIKE T512W-AKLAS,
      STAT TYPE C,
      GESCH(10) TYPE C,
END OF RES.

DATA:  BANKA LIKE BNKA-BANKA,
       BTEXT LIKE T001P-BTEXT,
       STLTX LIKE T513S-STLTX,
       PLSTX LIKE T528T-PLSTX.

DATA:  MYSEQNR LIKE HRPY_RGDIR-SEQNR,
       SEQNR LIKE PC261-SEQNR,
       MYPERNR LIKE PERNR-PERNR.

START-OF-SELECTION.


WRITE: /1 SY-ULINE, SY-VLINE,'COMPANY CODE',
        20 SY-VLINE, 'PERSONNEL NO.',
        40 SY-VLINE, 'EMPLOYEE NAME',
        80 SY-VLINE, 'PF A/C NO',
        100 SY-VLINE, 'POSITION',
        120 SY-VLINE, 'JOB',
        140 SY-VLINE, 'BUSINESS AREA',
        160 SY-VLINE, 'PS LEVEL',
        180 SY-VLINE, 'PS GROUP',
        200 SY-VLINE, 'BANK ID',
        220 SY-VLINE, 'STATE',
        240 SY-VLINE, 'BANK NAME',
        260 SY-VLINE, 'PAN',
        280 SY-VLINE, 'DOB',
        300 SY-VLINE, 'GENDER',
        320 SY-VLINE, 'ACCOUNT NO.',
        340 SY-VLINE, 'BASIC',
        360 SY-VLINE, 'HRA',
        380 SY-VLINE, 'TRANSPORT',
        400 SY-VLINE, 'SUPPLEMENTARY',
        420 SY-VLINE, 'MEDICAL',
        440 SY-VLINE, 'LTA',
        460 SY-VLINE, 'DEPARTMENT',
        480 SY-VLINE, 'BRANCH NAME',
        500 SY-VLINE, 'PF',
        520 SY-VLINE, 'EMPLR PF',
        540 SY-VLINE, 'ESI',
        560 SY-VLINE, 'EMPLR ESI',
        580 SY-VLINE, 'MONTHLY CTC',
        600 SY-VLINE, 'ANNUAL CTC',
        620 SY-VLINE.

WRITE: SY-ULINE.

GET PERNR.

    RP_PROVIDE_FROM_FRST P0000 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0008 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0185 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_FRST P0009 SPACE PN-BEGDA PN-ENDDA.

SELECT BTEXT FROM T001P INTO BTEXT WHERE BTRTL EQ P0001-BTRTL.
ENDSELECT.

SELECT BANKA FROM BNKA INTO BANKA WHERE BANKL EQ P0009-BANKL.
ENDSELECT.

SELECT STLTX FROM T513S INTO STLTX WHERE STELL EQ PERNR-STELL.
ENDSELECT.

SELECT PLSTX FROM T528T INTO PLSTX WHERE PLANS EQ PERNR-PLANS.
ENDSELECT.

IF P0002-GESCH = '1'.
RES-GESCH = 'MALE'.
ELSEIF P0002-GESCH = '2'.
RES-GESCH = 'FEMALE'.
ELSE.
RES-GESCH = 'UNKNOWN'.
ENDIF.

    WRITE: /1 SY-VLINE, PERNR-BUKRS,
            20 SY-VLINE, PERNR-PERNR,
            40 SY-VLINE, PERNR-ENAME,
            80 SY-VLINE, P0587-EEPFN,
            100 SY-VLINE, PLSTX,
            120 SY-VLINE, STLTX,
            140 SY-VLINE, P0001-GSBER,
            160 SY-VLINE, P0008-TRFST,
            180 SY-VLINE, P0008-TRFGR,
            200 SY-VLINE, P0009-BANKL,
            220 SY-VLINE, BTEXT,
            240 SY-VLINE, BANKA,
            260 SY-VLINE, P0185-ICNUM,
            280 SY-VLINE, P0002-GBDAT,
            300 SY-VLINE, RES-GESCH,
            320 SY-VLINE, P0009-BANKN.

IF PNP-SW-FOUND EQ '1'.
      DO 20 TIMES VARYING P0008-LGA01 FROM P0008-LGA01 NEXT  P0008-LGA02
                  VARYING P0008-BET01 FROM P0008-BET01 NEXT  P0008-BET02.

        IF P0008-LGA01 = '1000'.
        WRITE: 340 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 340 SY-VLINE, 360 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1001'.
        WRITE: 360 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 380 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1002'.
        WRITE: 380 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 400 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1005'.
        WRITE: 400 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 420 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1003'.
        WRITE: 420 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 440 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1004'.
        WRITE: 440 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 460 SY-VLINE.
        ENDIF.
     ENDDO.
    ENDIF.

PROVIDE * FROM P0185 BETWEEN PN-BEGDA AND PN-ENDDA WHERE P0185-SUBTY = '20'.
WRITE: 460 SY-VLINE, P0185-ICNUM.
ENDPROVIDE.
WRITE: 480 SY-VLINE, P0001-WERKS, 500 SY-VLINE.

WRITE: / SY-ULINE.

CALL FUNCTION 'CU_READ_RGDIR'
  EXPORTING
    PERSNR                   = PERNR-PERNR
* IMPORTING
*   MOLGA                    = MOLGA
  TABLES
    IN_RGDIR                 = IN_RGDIR.


  CALL FUNCTION 'CD_READ_LAST'
    EXPORTING
      BEGIN_DATE      = PN-BEGDA
      END_DATE        = PN-ENDDA
    IMPORTING
      OUT_SEQNR       = SEQNR
    TABLES
      RGDIR           = IN_RGDIR
    EXCEPTIONS
      NO_RECORD_FOUND = 1
      OTHERS          = 2.
*  IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*  ENDIF.


CHECK SY-SUBRC = 0.

    CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
      EXPORTING
        CLUSTERID                    = 'IN'
        EMPLOYEENUMBER               = PERNR-PERNR
        SEQUENCENUMBER               = SEQNR
      CHANGING
        PAYROLL_RESULT               = PY_RESULT
      EXCEPTIONS
        ILLEGAL_ISOCODE_OR_CLUSTERID = 1
        ERROR_GENERATING_IMPORT      = 2
        IMPORT_MISMATCH_ERROR        = 3
        SUBPOOL_DIR_FULL             = 4
        NO_READ_AUTHORITY            = 5
        NO_RECORD_FOUND              = 6
        VERSIONS_DO_NOT_MATCH        = 7
        ERROR_READING_ARCHIVE        = 8
        ERROR_READING_RELID          = 9
        OTHERS                       = 10.

****************CRT***************************
*    MYCRT[] = PY_RESULT-INTER-CRT .
*
*    LOOP AT MYCRT.
*      READ TABLE RES WITH KEY LGART = MYCRT-LGART.
*
*      IF MYCRT-LGART = '/101'.
*        WRITE /320  MYCRT-BETRG.
*      ENDIF.
*    ENDLOOP.

****************RT***************************

  MYRT[] = PY_RESULT-INTER-RT .

    LOOP AT MYRT.
      READ TABLE RES WITH KEY LGART = MYRT-LGART.
      IF MYRT-LGART = '/3F1'.
           WRITE: 500 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 520 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/3F3'.
           WRITE: 520  SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 540 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/3E1'.
           WRITE: 540 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 560 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/3E2'.
           WRITE: 560 SY-VLINE, MYRT-BETRG.
       ELSE.
           WRITE: 580 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/101'.
           WRITE: 580 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 600 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/416'.
           WRITE: 600 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 620 SY-VLINE.
      ENDIF.
    ENDLOOP.

CLEAR: MYRT[].

WRITE: 620 SY-VLINE.
WRITE: /1 SY-ULINE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLS CHECK IF THERE IS SOME PROBLEM IN THE CODE AND SUGGEST CORRECTIONS AS THE PROGRAM GIVES OUTPUT IN THE STATUS BAR "NO PAYROLL RESULTS FOUND FOR THE PERSONNEL NUMBER".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REGARDS,&lt;/P&gt;&lt;P&gt;AMEET&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Aug 2007 09:13:06 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-06T09:13:06Z</dc:date>
    <item>
      <title>CODE FOR DATA RETRIEVAL FROM RT TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567794#M585982</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HELLO FRIENDS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I HAVE A PROBLEM WHERE I WANT TO RETRIEVE DATA FROM RT TABLE BUT I AM NOT ABLE TO GET IT.&lt;/P&gt;&lt;P&gt;THIS IS MY CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZABAP
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  ZABAP NO STANDARD PAGE HEADING LINE-SIZE 620.

TABLES: PERNR,PC261,T52DB,V_512W_D,T512T, T512W,HRPY_RGDIR,BNKA,T5R05, T500L.

INFOTYPES: 0001,0185,0000,0587,0588,0008,0002,0009,1001.

DATA: IN_RGDIR LIKE TABLE OF PC261 WITH HEADER LINE,
      WA_CRT LIKE PC208 OCCURS 0 WITH HEADER LINE,
      WA_RT LIKE TABLE OF PC207 WITH HEADER LINE,
*      WPBP LIKE TABLE OF PC205 WITH HEADER LINE,

      MYCRT LIKE TABLE OF PC208 WITH HEADER LINE,
      MYRT LIKE TABLE OF PC207 WITH HEADER LINE,
      RESULT TYPE PAY99_RESULT,
      PY_RESULT TYPE PAYIN_RESULT,
      EVAL_CLS LIKE T512T OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF LTX OCCURS 0,
      LTX LIKE T247-LTX,
      END OF LTX.

DATA: BEGIN OF RES OCCURS 0,
      LGART LIKE T512T-LGART,
      AKLAS LIKE T512W-AKLAS,
      STAT TYPE C,
      GESCH(10) TYPE C,
END OF RES.

DATA:  BANKA LIKE BNKA-BANKA,
       BTEXT LIKE T001P-BTEXT,
       STLTX LIKE T513S-STLTX,
       PLSTX LIKE T528T-PLSTX.

DATA:  MYSEQNR LIKE HRPY_RGDIR-SEQNR,
       SEQNR LIKE PC261-SEQNR,
       MYPERNR LIKE PERNR-PERNR.

START-OF-SELECTION.


WRITE: /1 SY-ULINE, SY-VLINE,'COMPANY CODE',
        20 SY-VLINE, 'PERSONNEL NO.',
        40 SY-VLINE, 'EMPLOYEE NAME',
        80 SY-VLINE, 'PF A/C NO',
        100 SY-VLINE, 'POSITION',
        120 SY-VLINE, 'JOB',
        140 SY-VLINE, 'BUSINESS AREA',
        160 SY-VLINE, 'PS LEVEL',
        180 SY-VLINE, 'PS GROUP',
        200 SY-VLINE, 'BANK ID',
        220 SY-VLINE, 'STATE',
        240 SY-VLINE, 'BANK NAME',
        260 SY-VLINE, 'PAN',
        280 SY-VLINE, 'DOB',
        300 SY-VLINE, 'GENDER',
        320 SY-VLINE, 'ACCOUNT NO.',
        340 SY-VLINE, 'BASIC',
        360 SY-VLINE, 'HRA',
        380 SY-VLINE, 'TRANSPORT',
        400 SY-VLINE, 'SUPPLEMENTARY',
        420 SY-VLINE, 'MEDICAL',
        440 SY-VLINE, 'LTA',
        460 SY-VLINE, 'DEPARTMENT',
        480 SY-VLINE, 'BRANCH NAME',
        500 SY-VLINE, 'PF',
        520 SY-VLINE, 'EMPLR PF',
        540 SY-VLINE, 'ESI',
        560 SY-VLINE, 'EMPLR ESI',
        580 SY-VLINE, 'MONTHLY CTC',
        600 SY-VLINE, 'ANNUAL CTC',
        620 SY-VLINE.

WRITE: SY-ULINE.

GET PERNR.

    RP_PROVIDE_FROM_FRST P0000 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0008 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_LAST P0185 SPACE PN-BEGDA PN-ENDDA.
    RP_PROVIDE_FROM_FRST P0009 SPACE PN-BEGDA PN-ENDDA.

SELECT BTEXT FROM T001P INTO BTEXT WHERE BTRTL EQ P0001-BTRTL.
ENDSELECT.

SELECT BANKA FROM BNKA INTO BANKA WHERE BANKL EQ P0009-BANKL.
ENDSELECT.

SELECT STLTX FROM T513S INTO STLTX WHERE STELL EQ PERNR-STELL.
ENDSELECT.

SELECT PLSTX FROM T528T INTO PLSTX WHERE PLANS EQ PERNR-PLANS.
ENDSELECT.

IF P0002-GESCH = '1'.
RES-GESCH = 'MALE'.
ELSEIF P0002-GESCH = '2'.
RES-GESCH = 'FEMALE'.
ELSE.
RES-GESCH = 'UNKNOWN'.
ENDIF.

    WRITE: /1 SY-VLINE, PERNR-BUKRS,
            20 SY-VLINE, PERNR-PERNR,
            40 SY-VLINE, PERNR-ENAME,
            80 SY-VLINE, P0587-EEPFN,
            100 SY-VLINE, PLSTX,
            120 SY-VLINE, STLTX,
            140 SY-VLINE, P0001-GSBER,
            160 SY-VLINE, P0008-TRFST,
            180 SY-VLINE, P0008-TRFGR,
            200 SY-VLINE, P0009-BANKL,
            220 SY-VLINE, BTEXT,
            240 SY-VLINE, BANKA,
            260 SY-VLINE, P0185-ICNUM,
            280 SY-VLINE, P0002-GBDAT,
            300 SY-VLINE, RES-GESCH,
            320 SY-VLINE, P0009-BANKN.

IF PNP-SW-FOUND EQ '1'.
      DO 20 TIMES VARYING P0008-LGA01 FROM P0008-LGA01 NEXT  P0008-LGA02
                  VARYING P0008-BET01 FROM P0008-BET01 NEXT  P0008-BET02.

        IF P0008-LGA01 = '1000'.
        WRITE: 340 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 340 SY-VLINE, 360 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1001'.
        WRITE: 360 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 380 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1002'.
        WRITE: 380 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 400 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1005'.
        WRITE: 400 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 420 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1003'.
        WRITE: 420 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 440 SY-VLINE.
        ENDIF.

        IF P0008-LGA01 = '1004'.
        WRITE: 440 SY-VLINE, P0008-BET01.
        ELSE.
        WRITE: 460 SY-VLINE.
        ENDIF.
     ENDDO.
    ENDIF.

PROVIDE * FROM P0185 BETWEEN PN-BEGDA AND PN-ENDDA WHERE P0185-SUBTY = '20'.
WRITE: 460 SY-VLINE, P0185-ICNUM.
ENDPROVIDE.
WRITE: 480 SY-VLINE, P0001-WERKS, 500 SY-VLINE.

WRITE: / SY-ULINE.

CALL FUNCTION 'CU_READ_RGDIR'
  EXPORTING
    PERSNR                   = PERNR-PERNR
* IMPORTING
*   MOLGA                    = MOLGA
  TABLES
    IN_RGDIR                 = IN_RGDIR.


  CALL FUNCTION 'CD_READ_LAST'
    EXPORTING
      BEGIN_DATE      = PN-BEGDA
      END_DATE        = PN-ENDDA
    IMPORTING
      OUT_SEQNR       = SEQNR
    TABLES
      RGDIR           = IN_RGDIR
    EXCEPTIONS
      NO_RECORD_FOUND = 1
      OTHERS          = 2.
*  IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*  ENDIF.


CHECK SY-SUBRC = 0.

    CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
      EXPORTING
        CLUSTERID                    = 'IN'
        EMPLOYEENUMBER               = PERNR-PERNR
        SEQUENCENUMBER               = SEQNR
      CHANGING
        PAYROLL_RESULT               = PY_RESULT
      EXCEPTIONS
        ILLEGAL_ISOCODE_OR_CLUSTERID = 1
        ERROR_GENERATING_IMPORT      = 2
        IMPORT_MISMATCH_ERROR        = 3
        SUBPOOL_DIR_FULL             = 4
        NO_READ_AUTHORITY            = 5
        NO_RECORD_FOUND              = 6
        VERSIONS_DO_NOT_MATCH        = 7
        ERROR_READING_ARCHIVE        = 8
        ERROR_READING_RELID          = 9
        OTHERS                       = 10.

****************CRT***************************
*    MYCRT[] = PY_RESULT-INTER-CRT .
*
*    LOOP AT MYCRT.
*      READ TABLE RES WITH KEY LGART = MYCRT-LGART.
*
*      IF MYCRT-LGART = '/101'.
*        WRITE /320  MYCRT-BETRG.
*      ENDIF.
*    ENDLOOP.

****************RT***************************

  MYRT[] = PY_RESULT-INTER-RT .

    LOOP AT MYRT.
      READ TABLE RES WITH KEY LGART = MYRT-LGART.
      IF MYRT-LGART = '/3F1'.
           WRITE: 500 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 520 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/3F3'.
           WRITE: 520  SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 540 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/3E1'.
           WRITE: 540 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 560 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/3E2'.
           WRITE: 560 SY-VLINE, MYRT-BETRG.
       ELSE.
           WRITE: 580 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/101'.
           WRITE: 580 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 600 SY-VLINE.
      ENDIF.

      IF MYRT-LGART = '/416'.
           WRITE: 600 SY-VLINE, MYRT-BETRG.
      ELSE.
           WRITE: 620 SY-VLINE.
      ENDIF.
    ENDLOOP.

CLEAR: MYRT[].

WRITE: 620 SY-VLINE.
WRITE: /1 SY-ULINE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLS CHECK IF THERE IS SOME PROBLEM IN THE CODE AND SUGGEST CORRECTIONS AS THE PROGRAM GIVES OUTPUT IN THE STATUS BAR "NO PAYROLL RESULTS FOUND FOR THE PERSONNEL NUMBER".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REGARDS,&lt;/P&gt;&lt;P&gt;AMEET&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Aug 2007 09:13:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567794#M585982</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-06T09:13:06Z</dc:date>
    </item>
    <item>
      <title>Re: CODE FOR DATA RETRIEVAL FROM RT TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567795#M585983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;See the sample report which uses data retrival from RT&lt;/P&gt;&lt;P&gt;report zovertime&lt;/P&gt;&lt;P&gt;       line-size 252&lt;/P&gt;&lt;P&gt;       line-count 60(1)&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       message-id zndc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Database Tables &amp;amp; Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: pcl1,        " HR Cluster1&lt;/P&gt;&lt;P&gt;        pcl2,        " HR Cluster1&lt;/P&gt;&lt;P&gt;        pa0003,      " Master data - Payroll Status&lt;/P&gt;&lt;P&gt;        cskt,        " Cost Center Texts&lt;/P&gt;&lt;P&gt;        t528t,       " Positions Texts&lt;/P&gt;&lt;P&gt;        t513s,       " Job Titles&lt;/P&gt;&lt;P&gt;        pernr,       " Logical PNP&lt;/P&gt;&lt;P&gt;        t001p,       " Personnel Subarea&lt;/P&gt;&lt;P&gt;        t500p,       " Personnel Area&lt;/P&gt;&lt;P&gt;        t501,        " Employee Group&lt;/P&gt;&lt;P&gt;        t503k,       " Employee Subgroup&lt;/P&gt;&lt;P&gt;        csks.        " Cost Center&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;infotypes:0000,0001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include rpclst00.&lt;/P&gt;&lt;P&gt;include rpc2rx00.&lt;/P&gt;&lt;P&gt;include rpc2rxx0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include rpc2cd00.&lt;/P&gt;&lt;P&gt;*include rpc2ps00.&lt;/P&gt;&lt;P&gt;*include rpc2pt00.&lt;/P&gt;&lt;P&gt;*include rpcfvp00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include rpcfdc10.&lt;/P&gt;&lt;P&gt;*include rpcfdc00.&lt;/P&gt;&lt;P&gt;include rpppxd00.&lt;/P&gt;&lt;P&gt;include rpppxd10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration of Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table for Output Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of rep_tab occurs 0,&lt;/P&gt;&lt;P&gt;        kostl like pa0001-kostl,      " Cost Center&lt;/P&gt;&lt;P&gt;        pernr like pa0001-pernr,      " Personal Number&lt;/P&gt;&lt;P&gt;        ename like pa0001-ename,      " Employee Name&lt;/P&gt;&lt;P&gt;        ctext like cskt-ltext,        " Cost Center Text&lt;/P&gt;&lt;P&gt;        ptext like t528t-plstx,       " Position Text&lt;/P&gt;&lt;P&gt;        ot1   type p decimals 2,      " Jan OT Amount&lt;/P&gt;&lt;P&gt;        ot2   type p decimals 2,      " Feb OT Amount&lt;/P&gt;&lt;P&gt;        ot3   type p decimals 2,      " Mar OT Amount&lt;/P&gt;&lt;P&gt;        ot4   type p decimals 2,      " Apr OT Amount&lt;/P&gt;&lt;P&gt;        ot5   type p decimals 2,      " May OT Amount&lt;/P&gt;&lt;P&gt;        ot6   type p decimals 2,      " Jun OT Amount&lt;/P&gt;&lt;P&gt;        ot7   type p decimals 2,      " Jul OT Amount&lt;/P&gt;&lt;P&gt;        ot8   type p decimals 2,      " Aug OT Amount&lt;/P&gt;&lt;P&gt;        ot9   type p decimals 2,      " Sep OT Amount&lt;/P&gt;&lt;P&gt;        ot10  type p decimals 2,      " Oct OT Amount&lt;/P&gt;&lt;P&gt;        ot11  type p decimals 2,      " Nov OT Amount&lt;/P&gt;&lt;P&gt;        ot12  type p decimals 2,      " Dec OT Amount&lt;/P&gt;&lt;P&gt;        ott   type p decimals 2,      " Total OT Amount&lt;/P&gt;&lt;P&gt;      end of rep_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration of Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;data: v_mon(2) type n,                   " Month&lt;/P&gt;&lt;P&gt;      v_no     type i,                   " Data Lines&lt;/P&gt;&lt;P&gt;      v_year(4)  type c,                 " Year&lt;/P&gt;&lt;P&gt;      v_date   like sy-datum,            " Date&lt;/P&gt;&lt;P&gt;      v_date1  like sy-datum,            " Date&lt;/P&gt;&lt;P&gt;      v_seqnr  like  pc261-seqnr.        " Sequence No.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Declaration of Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;data: c_type   like hrp1001-otype  value 'S',  " Object Type&lt;/P&gt;&lt;P&gt;      c_kokrs  like cskt-kokrs value '1000',   " Controlling Area&lt;/P&gt;&lt;P&gt;      c_date1  like sy-datum value '18000101', " Date&lt;/P&gt;&lt;P&gt;      c_date2  like sy-datum value '99991231', " Date&lt;/P&gt;&lt;P&gt;      c_x       type c value 'X',              " Sign&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     c_mon(2)  type c value '01',             " Month&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      c_val1(2) type c value '31',             " Date&lt;/P&gt;&lt;P&gt;      c_val2(2) type c value '12',             " Month Type&lt;/P&gt;&lt;P&gt;      c_val    like p0041-dar01 value '01',    " Date Type&lt;/P&gt;&lt;P&gt;      c_lgart1 like p0008-lga01 value '0722',  " Wage Type&lt;/P&gt;&lt;P&gt;      c_lgart2 like p0008-lga01 value '0723',  " Wage Type&lt;/P&gt;&lt;P&gt;      c_1(2)   type n value '01',                           " Month1&lt;/P&gt;&lt;P&gt;      c_2(2)   type n value '02',                           " Month2&lt;/P&gt;&lt;P&gt;      c_3(2)   type n value '03',                           " Month3&lt;/P&gt;&lt;P&gt;      c_4(2)   type n value '04',                           " Month4&lt;/P&gt;&lt;P&gt;      c_5(2)   type n value '05',                           " Month5&lt;/P&gt;&lt;P&gt;      c_6(2)   type n value '06',                           " Month6&lt;/P&gt;&lt;P&gt;      c_7(2)   type n value '07',                           " Month7&lt;/P&gt;&lt;P&gt;      c_8(2)   type n value '08',                           " Month8&lt;/P&gt;&lt;P&gt;      c_9(2)   type n value '09',                           " Month9&lt;/P&gt;&lt;P&gt;      c_10(2)  type n value '10',                           " Month10&lt;/P&gt;&lt;P&gt;      c_11(2)  type n value '11',                           " Month11&lt;/P&gt;&lt;P&gt;      c_12(2)  type n value '12'.                           " Month12&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;  p_year like pc2b0-pabrj obligatory.       " Payroll Year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validate the Selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start-of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection of Period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_period.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get PERNR from LDB&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;get pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Master data from infotype 0001&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_master_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top-of-page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; End-of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-page.&lt;/P&gt;&lt;P&gt;  write /1(252) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; End-of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display the Output Report.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform display_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Form-Routines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of selection Screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form validate_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear csks.&lt;/P&gt;&lt;P&gt;  if not pnpkostl[] is initial.&lt;/P&gt;&lt;P&gt;    select single kostl&lt;/P&gt;&lt;P&gt;      into csks-kostl&lt;/P&gt;&lt;P&gt;      from csks&lt;/P&gt;&lt;P&gt;      where kostl in pnpkostl.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Invalid Cost Center'(003).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear pa0003.&lt;/P&gt;&lt;P&gt;  if not pnppernr[] is initial.&lt;/P&gt;&lt;P&gt;    select pernr&lt;/P&gt;&lt;P&gt;    from pa0003 up to 1 rows&lt;/P&gt;&lt;P&gt;      into pa0003-pernr&lt;/P&gt;&lt;P&gt;      where pernr in pnppernr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Personal Number Entered'(002).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t500p.&lt;/P&gt;&lt;P&gt;  if not pnpwerks[] is initial.&lt;/P&gt;&lt;P&gt;    select persa&lt;/P&gt;&lt;P&gt;    from t500p up to 1 rows&lt;/P&gt;&lt;P&gt;      into t500p-persa&lt;/P&gt;&lt;P&gt;      where persa in pnpwerks.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Personnel Area Entered'(001).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Personnel Sub Area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001p.&lt;/P&gt;&lt;P&gt;  if not pnpbtrtl[] is initial.&lt;/P&gt;&lt;P&gt;    select btrtl&lt;/P&gt;&lt;P&gt;    from t001p up to 1 rows&lt;/P&gt;&lt;P&gt;      into t001p-btrtl&lt;/P&gt;&lt;P&gt;      where btrtl in pnpbtrtl.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Personnel Sub Area Entered'(037).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Employee Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t501.&lt;/P&gt;&lt;P&gt;  if not pnppersg[] is initial.&lt;/P&gt;&lt;P&gt;    select persg&lt;/P&gt;&lt;P&gt;    from t501 up to 1 rows&lt;/P&gt;&lt;P&gt;      into t501-persg&lt;/P&gt;&lt;P&gt;      where persg in pnppersg.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Employee Group Entered'(038).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Employee Sub Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t503k.&lt;/P&gt;&lt;P&gt;  if not pnppersk[] is initial.&lt;/P&gt;&lt;P&gt;    select persk&lt;/P&gt;&lt;P&gt;    from t503k up to 1 rows&lt;/P&gt;&lt;P&gt;      into t503k-persk&lt;/P&gt;&lt;P&gt;      where persk in pnppersk.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      message e999 with 'Incorrect Employee Sub Group Entered'(039).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                  "validate_screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_period&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Correct Period based on Selection screen selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_period.&lt;/P&gt;&lt;P&gt;  clear: v_year,v_mon, v_date, v_date1.&lt;/P&gt;&lt;P&gt;  v_year = sy-datum+0(4).&lt;/P&gt;&lt;P&gt;  v_mon  = sy-datum+4(2).&lt;/P&gt;&lt;P&gt;  if pnptimr1 = c_x.      " Current Date&lt;/P&gt;&lt;P&gt;    pnpbegda = sy-datum.&lt;/P&gt;&lt;P&gt;    pnpendda = sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr2 = c_x.  " Current Month&lt;/P&gt;&lt;P&gt;    concatenate v_year v_mon c_val into v_date.&lt;/P&gt;&lt;P&gt;    concatenate v_year v_mon c_val1 into v_date1.&lt;/P&gt;&lt;P&gt;    pnpbegda = v_date.&lt;/P&gt;&lt;P&gt;    pnpendda = v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr3 = c_x.  " Current Year&lt;/P&gt;&lt;P&gt;    concatenate v_year c_val c_val into v_date.&lt;/P&gt;&lt;P&gt;    concatenate v_year c_val2 c_val1 into v_date1.&lt;/P&gt;&lt;P&gt;    pnpbegda = v_date.&lt;/P&gt;&lt;P&gt;    pnpendda = v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr4 = c_x.  " Upto Today&lt;/P&gt;&lt;P&gt;    pnpbegda = c_date1.&lt;/P&gt;&lt;P&gt;    pnpendda = sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr5 = c_x.  " From Today&lt;/P&gt;&lt;P&gt;    pnpbegda = sy-datum.&lt;/P&gt;&lt;P&gt;    pnpendda = c_date2.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      pnpbegda = c_date1.&lt;/P&gt;&lt;P&gt;      pnpendda = c_date2.&lt;/P&gt;&lt;P&gt;    elseif pnpbegda is initial and not pnpendda is initial.&lt;/P&gt;&lt;P&gt;      pnpbegda = c_date1.&lt;/P&gt;&lt;P&gt;      pnpendda = pnpendda.&lt;/P&gt;&lt;P&gt;    elseif not ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      pnpbegda = pnpbegda.&lt;/P&gt;&lt;P&gt;      pnpendda = pnpendda.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.              "get_period&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_master_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Master Data from Database Tables PA0001,0002,0003&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form get_master_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get data from Respective Infotypes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp_provide_from_last p0001 space pnpbegda pnpendda.&lt;/P&gt;&lt;P&gt;  if p0001-kostl in pnpkostl.&lt;/P&gt;&lt;P&gt;    rep_tab-kostl = p0001-kostl.&lt;/P&gt;&lt;P&gt;    rep_tab-pernr = p0001-pernr.&lt;/P&gt;&lt;P&gt;    rep_tab-ename = p0001-ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Position Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear t528t-plstx.&lt;/P&gt;&lt;P&gt;    select single plstx into t528t-plstx from t528t&lt;/P&gt;&lt;P&gt;            where plans = p0001-plans and&lt;/P&gt;&lt;P&gt;                  otype = c_type and&lt;/P&gt;&lt;P&gt;                  sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      rep_tab-ptext = t528t-plstx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Cost Center Text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear cskt-ltext.&lt;/P&gt;&lt;P&gt;    select single ltext into cskt-ltext from cskt&lt;/P&gt;&lt;P&gt;            where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                  kokrs = c_kokrs and&lt;/P&gt;&lt;P&gt;                  kostl = p0001-kostl.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      rep_tab-ctext = cskt-ltext.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Overtime Payment Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform get_ot_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    rep_tab-ott = rep_tab-ot1 + rep_tab-ot2 + rep_tab-ot3 +&lt;/P&gt;&lt;P&gt;                  rep_tab-ot4 + rep_tab-ot5 + rep_tab-ot6 +&lt;/P&gt;&lt;P&gt;                  rep_tab-ot7 + rep_tab-ot8 + rep_tab-ot9 +&lt;/P&gt;&lt;P&gt;                  rep_tab-ot10 + rep_tab-ot11 + rep_tab-ot12.&lt;/P&gt;&lt;P&gt;    append rep_tab.&lt;/P&gt;&lt;P&gt;    clear  rep_tab.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  sort rep_tab by kostl pernr.&lt;/P&gt;&lt;P&gt;  delete rep_tab where kostl = ' '.&lt;/P&gt;&lt;P&gt;  delete rep_tab where ott = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                 "get_master_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_ot_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Overtime Payment Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;form get_ot_data.&lt;/P&gt;&lt;P&gt;  cd-key = pernr-pernr.&lt;/P&gt;&lt;P&gt;  rp-imp-c2-cd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort rgdir by seqnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get sequence number for the payroll period&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at rgdir where void     is initial&lt;/P&gt;&lt;P&gt;                    and reversal is initial&lt;/P&gt;&lt;P&gt;                    and outofseq is initial&lt;/P&gt;&lt;P&gt;                    and srtza    eq 'A'.&lt;/P&gt;&lt;P&gt;    if rgdir-fpper+0(4) = p_year.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To consider offcycle run data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if not rgdir-ocrsn is initial.&lt;/P&gt;&lt;P&gt;        v_seqnr = rgdir-seqnr.&lt;/P&gt;&lt;P&gt;        exit.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      v_seqnr = rgdir-seqnr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if not v_seqnr is initial.&lt;/P&gt;&lt;P&gt;      perform import_rx.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    perform process_wagetypes.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.                 "get_ot_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include rpppxm00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  Import_rx&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Import the RX data from Clusters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form import_rx.&lt;/P&gt;&lt;P&gt;  rx-key-pernr = cd-key-pernr.&lt;/P&gt;&lt;P&gt;  rx-key-seqno = v_seqnr.&lt;/P&gt;&lt;P&gt;  rp-init-buffer.&lt;/P&gt;&lt;P&gt;  rp-imp-c2-rx.&lt;/P&gt;&lt;P&gt;endform.                    " Import_rx&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  Process_wagetypes&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate the Overtime Amount based on Wage types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_wagetypes.&lt;/P&gt;&lt;P&gt;  loop at rt.&lt;/P&gt;&lt;P&gt;    if  rt-lgart = c_lgart1 or rt-lgart = c_lgart2.&lt;/P&gt;&lt;P&gt;      if rgdir-fpper+0(4) = p_year.&lt;/P&gt;&lt;P&gt;        v_mon = rgdir-fpper+4(2).&lt;/P&gt;&lt;P&gt;        case v_mon .&lt;/P&gt;&lt;P&gt;          when c_1.&lt;/P&gt;&lt;P&gt;            rep_tab-ot1 = rep_tab-ot1 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_2.&lt;/P&gt;&lt;P&gt;            rep_tab-ot2 = rep_tab-ot2 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_3.&lt;/P&gt;&lt;P&gt;            rep_tab-ot3 = rep_tab-ot3 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_4.&lt;/P&gt;&lt;P&gt;            rep_tab-ot4 = rep_tab-ot4 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_5.&lt;/P&gt;&lt;P&gt;            rep_tab-ot5 = rep_tab-ot5 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_6.&lt;/P&gt;&lt;P&gt;            rep_tab-ot6 = rep_tab-ot6 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_7.&lt;/P&gt;&lt;P&gt;            rep_tab-ot7 = rep_tab-ot7 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_8.&lt;/P&gt;&lt;P&gt;            rep_tab-ot8 = rep_tab-ot8 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_9.&lt;/P&gt;&lt;P&gt;            rep_tab-ot9 = rep_tab-ot9 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_10.&lt;/P&gt;&lt;P&gt;            rep_tab-ot10 = rep_tab-ot10 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_11.&lt;/P&gt;&lt;P&gt;            rep_tab-ot11 = rep_tab-ot11 + rt-betrg.&lt;/P&gt;&lt;P&gt;          when c_12.&lt;/P&gt;&lt;P&gt;            rep_tab-ot12 = rep_tab-ot12 + rt-betrg.&lt;/P&gt;&lt;P&gt;        endcase.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.          "process_wagetypes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Report and Column Headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form top_of_page.&lt;/P&gt;&lt;P&gt;  format color col_heading on.&lt;/P&gt;&lt;P&gt;  write: /1(252) 'NATIONAL DRILLING COMPANY'(010) centered,&lt;/P&gt;&lt;P&gt;         /1(252) 'Overtime Payments Details'(011) centered.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  if pnptimr1 = c_x.      " Current Date&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(036), sy-datum, 'To:'(006), sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr2 = c_x.  " Current Month&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(036), v_date, 'To:'(006), v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr3 = c_x.  " Current Year&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(036), v_date, 'To:'(006), v_date1.&lt;/P&gt;&lt;P&gt;  elseif pnptimr4 = c_x.  " Upto Today&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(036), c_date1, 'To:'(006), sy-datum.&lt;/P&gt;&lt;P&gt;  elseif pnptimr5 = c_x.  " From Today&lt;/P&gt;&lt;P&gt;    write: /2 'Period From     :'(036), sy-datum, 'To:'(006), c_date2.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      write: /2 'Period From     :'(036), c_date1, 'To:'(006), c_date2.&lt;/P&gt;&lt;P&gt;    elseif pnpbegda is initial and not pnpendda is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Period From     :'(036), c_date1, 'To:'(006), pnpendda.&lt;/P&gt;&lt;P&gt;    elseif not ( pnpbegda is initial and pnpendda is initial ).&lt;/P&gt;&lt;P&gt;      write: /2 'Period From     :'(036), pnpbegda,&lt;/P&gt;&lt;P&gt;               'To:'(006), pnpendda.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write: 219 'Report Run Date:'(018), sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not pnpkostl[] is initial.&lt;/P&gt;&lt;P&gt;    if pnpkostl-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Cost Center     :'(004), pnpkostl-low,&lt;/P&gt;&lt;P&gt;            219 'Time           :'(020), sy-uzeit.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Cost Center From:'(005), pnpkostl-low+7(3),&lt;/P&gt;&lt;P&gt;                                'To:'(006), pnpkostl-high,&lt;/P&gt;&lt;P&gt;            219 'Time           :'(020), sy-uzeit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: /219  'Time           :'(020), sy-uzeit.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not pnppernr[] is initial.&lt;/P&gt;&lt;P&gt;    if pnppernr-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Personal Number :'(007), pnppernr-low,&lt;/P&gt;&lt;P&gt;             219 'User           :'(021), sy-uname.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Personal No.From:'(008),  pnppernr-low,&lt;/P&gt;&lt;P&gt;                                'To:'(006), pnppernr-high,&lt;/P&gt;&lt;P&gt;             219 'User           :'(021), sy-uname.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    write: /219 'User           :'(021), sy-uname.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write: /219 'Page No        :'(022), sy-pagno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write /1(252) sy-uline.&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline, 10 sy-vline,&lt;/P&gt;&lt;P&gt;        41 sy-vline,&lt;/P&gt;&lt;P&gt;        67 sy-vline, 68(167) 'Overtime Payments(Dirhams)'(013) centered,&lt;/P&gt;&lt;P&gt;       235 sy-vline,252 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline,  2(8)  'Emp #'(019) centered,&lt;/P&gt;&lt;P&gt;        10 sy-vline, 11(30) 'Employee Name'(012) centered,&lt;/P&gt;&lt;P&gt;        41 sy-vline, 42(25) 'Position'(014) centered,&lt;/P&gt;&lt;P&gt;        67 sy-vline, 68(167)  sy-uline,&lt;/P&gt;&lt;P&gt;       235 sy-vline,236(16)  'Total'(017) centered,&lt;/P&gt;&lt;P&gt;       252 sy-vline.&lt;/P&gt;&lt;P&gt;  write:/1 sy-vline, 10 sy-vline,&lt;/P&gt;&lt;P&gt;        41 sy-vline,&lt;/P&gt;&lt;P&gt;        67 sy-vline, 68(13)  'JANUARY'(024) centered,&lt;/P&gt;&lt;P&gt;        81 sy-vline, 82(13)  'FEBRUARY'(025) centered,&lt;/P&gt;&lt;P&gt;        95 sy-vline, 96(13)  'MARCH'(026) centered,&lt;/P&gt;&lt;P&gt;       109 sy-vline,110(13)  'APRIL'(027) centered,&lt;/P&gt;&lt;P&gt;       123 sy-vline,124(13)  'MAY'(028) centered,&lt;/P&gt;&lt;P&gt;       137 sy-vline,138(13)  'JUNE'(029) centered,&lt;/P&gt;&lt;P&gt;       151 sy-vline,152(13)  'JULY'(030) centered,&lt;/P&gt;&lt;P&gt;       165 sy-vline,166(13)  'AUGUST'(031) centered,&lt;/P&gt;&lt;P&gt;       179 sy-vline,180(13)  'SEPTEMBER'(032) centered,&lt;/P&gt;&lt;P&gt;       193 sy-vline,194(13)  'OCTOBER'(033) centered,&lt;/P&gt;&lt;P&gt;       207 sy-vline,208(13)  'NOVEMBER'(034) centered,&lt;/P&gt;&lt;P&gt;       221 sy-vline,222(13)  'DECEMBER'(035) centered,&lt;/P&gt;&lt;P&gt;       235 sy-vline,252 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  write /1(252) sy-uline.&lt;/P&gt;&lt;P&gt;endform.            "top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  Display_report&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Report Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form display_report.&lt;/P&gt;&lt;P&gt;  clear v_no.&lt;/P&gt;&lt;P&gt;  describe table rep_tab lines v_no.&lt;/P&gt;&lt;P&gt;  if v_no = 0.&lt;/P&gt;&lt;P&gt;    message i999 with&lt;/P&gt;&lt;P&gt;     'No Data found for the entered Selection'(015).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  loop at rep_tab.&lt;/P&gt;&lt;P&gt;    format color 3.&lt;/P&gt;&lt;P&gt;    at new kostl.&lt;/P&gt;&lt;P&gt;      read table rep_tab index sy-tabix.&lt;/P&gt;&lt;P&gt;      write:/1 sy-vline, 2(12) 'Cost Center:'(009),&lt;/P&gt;&lt;P&gt;             14(10) rep_tab-kostl,&lt;/P&gt;&lt;P&gt;             25(30) rep_tab-ctext,&lt;/P&gt;&lt;P&gt;            252 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      write /1(252) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    format color col_normal.&lt;/P&gt;&lt;P&gt;    write: /1 sy-vline, 2(8)   rep_tab-pernr,&lt;/P&gt;&lt;P&gt;          10 sy-vline, 11(30)  rep_tab-ename,&lt;/P&gt;&lt;P&gt;          41 sy-vline, 42(25)  rep_tab-ptext,&lt;/P&gt;&lt;P&gt;          67 sy-vline, 68(13)  rep_tab-ot1 no-zero,&lt;/P&gt;&lt;P&gt;          81 sy-vline, 82(13)  rep_tab-ot2 no-zero,&lt;/P&gt;&lt;P&gt;          95 sy-vline, 96(13)  rep_tab-ot3 no-zero,&lt;/P&gt;&lt;P&gt;         109 sy-vline,110(13)  rep_tab-ot4 no-zero,&lt;/P&gt;&lt;P&gt;         123 sy-vline,124(13)  rep_tab-ot5 no-zero,&lt;/P&gt;&lt;P&gt;         137 sy-vline,138(13)  rep_tab-ot6 no-zero,&lt;/P&gt;&lt;P&gt;         151 sy-vline,152(13)  rep_tab-ot7 no-zero,&lt;/P&gt;&lt;P&gt;         165 sy-vline,166(13)  rep_tab-ot8 no-zero,&lt;/P&gt;&lt;P&gt;         179 sy-vline,180(13)  rep_tab-ot9 no-zero,&lt;/P&gt;&lt;P&gt;         193 sy-vline,194(13)  rep_tab-ot10 no-zero,&lt;/P&gt;&lt;P&gt;         207 sy-vline,208(13)  rep_tab-ot11 no-zero,&lt;/P&gt;&lt;P&gt;         221 sy-vline,222(13)  rep_tab-ot12 no-zero,&lt;/P&gt;&lt;P&gt;         235 sy-vline,236(16)  rep_tab-ott no-zero,&lt;/P&gt;&lt;P&gt;         252 sy-vline.&lt;/P&gt;&lt;P&gt;    at end of kostl.&lt;/P&gt;&lt;P&gt;      write /1(252) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    at last.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      format color 1.&lt;/P&gt;&lt;P&gt;      write: /1 sy-vline,&lt;/P&gt;&lt;P&gt;            10 sy-vline, 11(30) 'Total'(017) centered,&lt;/P&gt;&lt;P&gt;            41 sy-vline,&lt;/P&gt;&lt;P&gt;            67 sy-vline, 68(13)  rep_tab-ot1 no-zero,&lt;/P&gt;&lt;P&gt;            81 sy-vline, 82(13)  rep_tab-ot2 no-zero,&lt;/P&gt;&lt;P&gt;            95 sy-vline, 96(13)  rep_tab-ot3 no-zero,&lt;/P&gt;&lt;P&gt;           109 sy-vline,110(13)  rep_tab-ot4 no-zero,&lt;/P&gt;&lt;P&gt;           123 sy-vline,124(13)  rep_tab-ot5 no-zero,&lt;/P&gt;&lt;P&gt;           137 sy-vline,138(13)  rep_tab-ot6 no-zero,&lt;/P&gt;&lt;P&gt;           151 sy-vline,152(13)  rep_tab-ot7 no-zero,&lt;/P&gt;&lt;P&gt;           165 sy-vline,166(13)  rep_tab-ot8 no-zero,&lt;/P&gt;&lt;P&gt;           179 sy-vline,180(13)  rep_tab-ot9 no-zero,&lt;/P&gt;&lt;P&gt;           193 sy-vline,194(13)  rep_tab-ot10 no-zero,&lt;/P&gt;&lt;P&gt;           207 sy-vline,208(13)  rep_tab-ot11 no-zero,&lt;/P&gt;&lt;P&gt;           221 sy-vline,222(13)  rep_tab-ot12 no-zero,&lt;/P&gt;&lt;P&gt;           235 sy-vline,236(16)  rep_tab-ott no-zero,&lt;/P&gt;&lt;P&gt;           252 sy-vline.&lt;/P&gt;&lt;P&gt;      write /1(252) sy-uline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    format color off.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;endform.          "display_report&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward points for useful Answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Aug 2007 09:17:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567795#M585983</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-06T09:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: CODE FOR DATA RETRIEVAL FROM RT TABLE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567796#M585984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; try this code,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZIM_HR_NOTIFY_CASH_PAYMENT_FN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: PA9973,&lt;/P&gt;&lt;P&gt;        PA0001,&lt;/P&gt;&lt;P&gt;        PA0041,&lt;/P&gt;&lt;P&gt;        PA0009,&lt;/P&gt;&lt;P&gt;        PA0008,&lt;/P&gt;&lt;P&gt;        PA0105,&lt;/P&gt;&lt;P&gt;        PC207,&lt;/P&gt;&lt;P&gt;        PC209.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         SELECT-OPTIONS                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   SELECT-OPTIONS: S_PERNR FOR PA9973-PERNR.&lt;/P&gt;&lt;P&gt;   PARAMETERS: TESTRUN  RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;P&gt;               SENDMAIL RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   PARAMETERS: PERIOD LIKE SY-DATUM DEFAULT SY-DATUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         TYPES                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_PA9973,&lt;/P&gt;&lt;P&gt;          PERNR LIKE PA9973-PERNR,&lt;/P&gt;&lt;P&gt;       END OF T_PA9973,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF T_PA0001,&lt;/P&gt;&lt;P&gt;          PERNR LIKE PA0001-PERNR,&lt;/P&gt;&lt;P&gt;          SNAME LIKE PA0001-SNAME,&lt;/P&gt;&lt;P&gt;       END OF T_PA0001,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF T_PA0000,&lt;/P&gt;&lt;P&gt;          PERNR LIKE PA0000-PERNR,&lt;/P&gt;&lt;P&gt;          BEGDA LIKE PA0000-BEGDA,&lt;/P&gt;&lt;P&gt;          MASSN LIKE PA0000-MASSN,&lt;/P&gt;&lt;P&gt;       END OF T_PA0000,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF T_PA0041,&lt;/P&gt;&lt;P&gt;          PERNR LIKE PA0041-PERNR,&lt;/P&gt;&lt;P&gt;          DAT01 LIKE PA0041-DAT01,&lt;/P&gt;&lt;P&gt;          DAR01 LIKE PA0041-DAR01,&lt;/P&gt;&lt;P&gt;       END OF T_PA0041,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF T_DATA,&lt;/P&gt;&lt;P&gt;         PERNR LIKE PA0001-PERNR,&lt;/P&gt;&lt;P&gt;         SNAME LIKE PA0001-SNAME,&lt;/P&gt;&lt;P&gt;         BEGDA LIKE PA0000-BEGDA,&lt;/P&gt;&lt;P&gt;         DAT01 LIKE PA0041-DAT01,&lt;/P&gt;&lt;P&gt;         BETRG LIKE PC209-BETRG,&lt;/P&gt;&lt;P&gt;         LGART LIKE PC207-LGART,&lt;/P&gt;&lt;P&gt;         ZLSCH LIKE PC209-ZLSCH,&lt;/P&gt;&lt;P&gt;         USRID LIKE PA0105-USRID,&lt;/P&gt;&lt;P&gt;         WAERS LIKE PC209-WAERS,&lt;/P&gt;&lt;P&gt;       END OF T_DATA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF T_EMAIL,&lt;/P&gt;&lt;P&gt;         PERNR LIKE PA0105-PERNR,&lt;/P&gt;&lt;P&gt;         USRTY LIKE PA0105-USRTY,&lt;/P&gt;&lt;P&gt;         USRID LIKE PA0105-USRID,&lt;/P&gt;&lt;P&gt;       END OF T_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         DATA                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;WORK AREAS&lt;/STRONG&gt;**********&lt;/P&gt;&lt;P&gt;DATA: WA_PA9973 TYPE T_PA9973,&lt;/P&gt;&lt;P&gt;      WA_PA0001 TYPE T_PA0001,&lt;/P&gt;&lt;P&gt;      WA_PA0000 TYPE T_PA0000,&lt;/P&gt;&lt;P&gt;      WA_PA0041 TYPE T_PA0041,&lt;/P&gt;&lt;P&gt;      WA_DATA TYPE T_DATA,&lt;/P&gt;&lt;P&gt;      WA_EMAIL TYPE T_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;INTERNAL TABLES&lt;/STRONG&gt;*******&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IT_PA9973 TYPE STANDARD TABLE OF T_PA9973,&lt;/P&gt;&lt;P&gt;     IT_PA0001 TYPE STANDARD TABLE OF T_PA0001,&lt;/P&gt;&lt;P&gt;     IT_PA0000 TYPE STANDARD TABLE OF T_PA0000,&lt;/P&gt;&lt;P&gt;     IT_PA0041 TYPE STANDARD TABLE OF T_PA0041,&lt;/P&gt;&lt;P&gt;     IT_DATA TYPE STANDARD TABLE OF T_DATA,&lt;/P&gt;&lt;P&gt;     IT_EMAIL TYPE STANDARD TABLE OF T_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF RT OCCURS 0.         "result table&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE PC207.&lt;/P&gt;&lt;P&gt;DATA : END OF RT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF BT OCCURS 0.         "BANK DETAIL&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE PC209.&lt;/P&gt;&lt;P&gt;DATA : END OF BT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : MOLGA LIKE T512T-MOLGA VALUE '10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_RX OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE PC200.&lt;/P&gt;&lt;P&gt;DATA : END OF it_RX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_RGDIR OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE PC261.&lt;/P&gt;&lt;P&gt;DATA : END OF IT_RGDIR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGDA LIKE PA0000-BEGDA.&lt;/P&gt;&lt;P&gt;DATA : ENDDA LIKE PA0000-ENDDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:P_YEAR LIKE T549S-PABRJ.&lt;/P&gt;&lt;P&gt;DATA:P_PERIOD LIKE T549S-PABRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:IT_PA0001A LIKE PA0001 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P_YEAR = PERIOD+0(4).&lt;/P&gt;&lt;P&gt;P_PERIOD = PERIOD+3(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         PROCESSING LOGIC                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT DISTINCT PERNR&lt;/P&gt;&lt;P&gt;           FROM PA9973&lt;/P&gt;&lt;P&gt;            INTO TABLE IT_PA9973&lt;/P&gt;&lt;P&gt;               WHERE PERNR IN S_PERNR&lt;/P&gt;&lt;P&gt;               AND CASH = 'X' AND ACIND = 'X' AND ASELD = 'X' AND ININD = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF IT_PA9973[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    SELECT PERNR SNAME BEGDA&lt;/P&gt;&lt;P&gt;                     FROM PA0001&lt;/P&gt;&lt;P&gt;                      INTO CORRESPONDING FIELDS OF TABLE IT_PA0001&lt;/P&gt;&lt;P&gt;                       FOR ALL ENTRIES IN IT_PA9973&lt;/P&gt;&lt;P&gt;                        WHERE PERNR = IT_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF IT_PA9973[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    SELECT PERNR BEGDA MASSN&lt;/P&gt;&lt;P&gt;                     FROM PA0000&lt;/P&gt;&lt;P&gt;                      INTO CORRESPONDING FIELDS OF TABLE IT_PA0000&lt;/P&gt;&lt;P&gt;                       FOR ALL ENTRIES IN IT_PA9973&lt;/P&gt;&lt;P&gt;                        WHERE PERNR = IT_PA9973-PERNR&lt;/P&gt;&lt;P&gt;                         AND MASSN = '01'.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               IF IT_PA9973[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    SELECT PERNR DAT01 DAR01&lt;/P&gt;&lt;P&gt;                     FROM PA0041&lt;/P&gt;&lt;P&gt;                      INTO CORRESPONDING FIELDS OF TABLE IT_PA0041&lt;/P&gt;&lt;P&gt;                       FOR ALL ENTRIES IN IT_PA9973&lt;/P&gt;&lt;P&gt;                        WHERE PERNR = IT_PA9973-PERNR&lt;/P&gt;&lt;P&gt;                         AND DAR01 = '01'.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                IF IT_PA9973[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;                   SELECT DISTINCT PERNR ABKRS&lt;/P&gt;&lt;P&gt;                     FROM PA0001&lt;/P&gt;&lt;P&gt;                      INTO CORRESPONDING FIELDS OF TABLE IT_PA0001A&lt;/P&gt;&lt;P&gt;                       WHERE PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           IF IT_PA9973[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            SELECT PERNR USRID&lt;/P&gt;&lt;P&gt;             FROM PA0105&lt;/P&gt;&lt;P&gt;              INTO  CORRESPONDING FIELDS OF TABLE IT_EMAIL&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN IT_PA9973&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 WHERE PERNR = IT_PA9973-PERNR&lt;/P&gt;&lt;P&gt;                 AND USRTY = '0001'&lt;/P&gt;&lt;P&gt;                 OR USRTY = 'MAIL' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;             ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WRITE:/ 'NOT RECIEVED'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TEST RUN                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF TESTRUN = 'X'.&lt;/P&gt;&lt;P&gt;            SKIP.&lt;/P&gt;&lt;P&gt;            SKIP.&lt;/P&gt;&lt;P&gt;            ULINE (92).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WRITE:/ SY-VLINE ,35 ' AWARD RECIEVED EMPLOYEES' COLOR COL_HEADING,92&lt;/P&gt;&lt;P&gt;                     SY-VLINE .&lt;/P&gt;&lt;P&gt;            ULINE (92).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            WRITE:/ SY-VLINE ,'EMPLOYEE NAME' COLOR COL_HEADING,SY-VLINE,18 'HIREDATE' COLOR COL_HEADING,&lt;/P&gt;&lt;P&gt;                    28 SY-VLINE,30 'SERVICE DATE' COLOR COL_HEADING,44 SY-VLINE,&lt;/P&gt;&lt;P&gt;                    45 '   AMOUNT' COLOR COL_HEADING,70&lt;/P&gt;&lt;P&gt;                     SY-VLINE,72 'PAY.METHOD' COLOR COL_HEADING,82 SY-VLINE,&lt;/P&gt;&lt;P&gt;                     83 'WAGE TYPE' COLOR COL_HEADING,92 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ULINE (92).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM IT_COLLECT_DATA.&lt;/P&gt;&lt;P&gt;         LOOP AT IT_DATA INTO WA_DATA.&lt;/P&gt;&lt;P&gt;             WRITE:/ SY-VLINE,WA_DATA-SNAME COLOR COL_BACKGROUND,17 SY-VLINE,18&lt;/P&gt;&lt;P&gt;                     WA_DATA-BEGDA COLOR COL_BACKGROUND,28&lt;/P&gt;&lt;P&gt;                     SY-VLINE,30 WA_DATA-DAT01 COLOR COL_BACKGROUND,44 SY-VLINE,45&lt;/P&gt;&lt;P&gt;                     WA_DATA-BETRG, WA_DATA-WAERS COLOR COL_BACKGROUND,70 SY-VLINE,75 WA_DATA-ZLSCH COLOR COL_BACKGROUND,&lt;/P&gt;&lt;P&gt;                     82 SY-VLINE,83 WA_DATA-LGART COLOR COL_BACKGROUND,92 SY-VLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         ENDLOOP.&lt;/P&gt;&lt;P&gt;             ULINE (92).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                SEND MAIL                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SENDMAIL = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM IT_COLLECT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_DATA INTO WA_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF WA_DATA-USRID NS '@'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ON CHANGE OF WA_DATA-USRID.&lt;/P&gt;&lt;P&gt;            DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS  2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DATA: OBJHEAD LIKE SOLISTI1   OCCURS  1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DATA: OBJBIN  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DATA: OBJTXT  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;            DATA: OBJTXT1  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DATA: RECLIST LIKE SOMLRECI1  OCCURS  5 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DATA: DOC_CHNG LIKE SODOCCHGI1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DATA: TAB_LINES LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Creating the document to be sent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;           DOC_CHNG-OBJ_NAME = 'OFFER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           DOC_CHNG-OBJ_DESCR = 'Service Award Cash Payment'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           OBJTXT = 'This is to inform you that your service award cash:'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           OBJTXT = WA_DATA-BETRG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OBJTXT1 = WA_DATA-WAERS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CONCATENATE WA_DATA-BETRG WA_DATA-WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   INTO OBJTXT SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           OBJTXT = 'Wage type:'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           OBJTXT =  WA_DATA-LGART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJTXT = 'is paid through your monthly  salary as Direct Deposit'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DESCRIBE TABLE OBJTXT LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            READ TABLE OBJTXT INDEX TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            Creating the entry for the compressed document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CLEAR OBJPACK-TRANSF_BIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-HEAD_NUM   = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-BODY_NUM   = TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-DOC_TYPE   = 'RAW'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Creating the document attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        (Assume the data in OBJBIN are given in BMP format)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJBIN = ' \O/ '. APPEND OBJBIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJBIN = '  |  '. APPEND OBJBIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJBIN = ' / \ '. APPEND OBJBIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            DESCRIBE TABLE OBJBIN LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJHEAD = 'picasso.bmp'. APPEND OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Creating the entry for the compressed attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-HEAD_NUM   = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-BODY_NUM   = TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-DOC_TYPE   = 'BMP'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-OBJ_NAME   = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-OBJ_DESCR = 'Reproduction object 138'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            OBJPACK-DOC_SIZE   = TAB_LINES * 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            APPEND OBJPACK..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Entering names in the distribution list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       IF WA_DATA-USRID CS '@'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  RECLIST-RECEIVER = WA_DATA-USRID.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 APPEND RECLIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 perform f1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                RECLIST-RECEIVER = WA_DATA-USRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                RECLIST-REC_TYPE = 'B'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                APPEND RECLIST.&lt;/P&gt;&lt;P&gt;                perform f1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                CLEAR :OBJTXT,RECLIST.&lt;/P&gt;&lt;P&gt;                REFRESH :OBJTXT,RECLIST.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         ENDON.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOOP AT RECLIST.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WRITE:/ RECLIST-RECEIVER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**perform f1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PERFORM F1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*RECLIST-RECEIVER = 'sarvadi_imran@yahoo.com'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sending the document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form f1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          DOCUMENT_DATA = DOC_CHNG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PUT_IN_OUTBOX = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          COMMIT_WORK   = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SENT_TO_ALL    = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PACKING_LIST  = OBJPACK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          OBJECT_HEADER = OBJHEAD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CONTENTS_BIN  = OBJBIN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CONTENTS_TXT  = OBJTXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          RECEIVERS     = RECLIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          TOO_MANY_RECEIVERS = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          DOCUMENT_NOT_SENT  = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          OTHERS = 99.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / 'Result of the send process:'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: / RECLIST-RECEIVER(48), ':'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF RECLIST-RETRN_CODE = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE 'sent successfully'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WRITE 'not sent'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHEN 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / 'no authorization to send to the specified number of'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHEN 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / 'document could not be sent to  the recipients:',&lt;/P&gt;&lt;P&gt;WA_DATA-USRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHEN 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / 'no authorization to send !'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WHEN OTHERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE: / 'error occurred during sending !'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CLEAR OBJTXT.&lt;/P&gt;&lt;P&gt;*CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  FORMS                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;FORM IT_COLLECT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   LOOP AT IT_PA9973 INTO WA_PA9973.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE IT_PA0001 INTO WA_PA0001 WITH KEY PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_PA0000 INTO WA_PA0000 WITH KEY PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_PA0041 INTO WA_PA0041 WITH KEY PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;    READ TABLE IT_EMAIL INTO WA_EMAIL WITH KEY PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                   it_RX-PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      CALL FUNCTION 'CU_READ_RGDIR'&lt;/P&gt;&lt;P&gt;                        EXPORTING&lt;/P&gt;&lt;P&gt;                          PERSNR                   = WA_PA9973-PERNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        BUFFER                   = BUFFER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        NO_AUTHORITY_CHECK       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                        IMPORTING&lt;/P&gt;&lt;P&gt;                          MOLGA                    =  MOLGA&lt;/P&gt;&lt;P&gt;                        TABLES&lt;/P&gt;&lt;P&gt;                          IN_RGDIR                 = IT_RGDIR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        NO_RECORD_FOUND          = 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        LOOP AT IT_PA0001A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                        CALL FUNCTION 'HR_GB_PERIOD_DATES'&lt;/P&gt;&lt;P&gt;                          EXPORTING&lt;/P&gt;&lt;P&gt;                           ABKRS                  = IT_PA0001A-ABKRS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          PERMO                  = PERMO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                            PABRJ                  = P_YEAR&lt;/P&gt;&lt;P&gt;                            PABRP                  = P_PERIOD&lt;/P&gt;&lt;P&gt;                         IMPORTING&lt;/P&gt;&lt;P&gt;                           BEGDA                  = BEGDA&lt;/P&gt;&lt;P&gt;                           ENDDA                  = ENDDA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          PERIOD_NOT_FOUND       = 1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                              .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT IT_RGDIR WHERE  FPBEG = BEGDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          it_RX-SEQNO = IT_RGDIR-SEQNR.&lt;/P&gt;&lt;P&gt;          APPEND it_RX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IMPORT RT FROM DATABASE PCL2(RU) ID it_RX.&lt;/P&gt;&lt;P&gt;          IF NOT RT[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IMPORT BT FROM DATABASE PCL2(RU) ID it_RX.&lt;/P&gt;&lt;P&gt;              IF NOT BT[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 LOOP AT RT.&lt;/P&gt;&lt;P&gt;                            LOOP AT BT WHERE LGART = RT-LGART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                   WA_DATA-USRID = WA_EMAIL-USRID.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-SNAME = WA_PA0001-SNAME.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-BEGDA = WA_PA0000-BEGDA.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-DAT01 = WA_PA0041-DAT01.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-BETRG = BT-BETRG.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-ZLSCH = BT-ZLSCH.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-LGART = RT-LGART.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-PERNR = WA_PA9973-PERNR.&lt;/P&gt;&lt;P&gt;                                   WA_DATA-WAERS = BT-WAERS.&lt;/P&gt;&lt;P&gt;                                   APPEND WA_DATA TO IT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                            ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Aug 2007 10:11:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/code-for-data-retrieval-from-rt-table/m-p/2567796#M585984</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-06T10:11:42Z</dc:date>
    </item>
  </channel>
</rss>

