SlideShare ist ein Scribd-Unternehmen logo
1 von 10
REPORT ZCOMPRASREPORTE
NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 65
 MESSAGE-ID ZR .
***********************************************************************
* This program extracts documents from SAP R/3, (A/P module),
* to generate three (3) reports for the PUSCHASE REPORT.
* This a Peruvian legal requirement and have a specific format for each
* report.
*
* All the documents (invoices, credit memos) that have been
* posted between the initial date and the final date, and have at least
* one line item with tax code begining with 'C' or 'R', will be selected
* and written on the report.
* The records are chosen according to the selection-criteria the
* user shows on the screen.
*
* The documents with the document type '38' or 'A5' are
* printed under the title "POLIZAS DE IMPORTACION"
* (custom certificate of importations). It has a different
* report layout than the other documents.
************************************************************************
TABLES: BKPF,                                   " Accounting document header
        BSEG,                             " Accounting document segment
        LFA1.                            " Vendor master (general section)
*        YFCTAPOLI.                            "FAE2000.02.18
DATA: TOTAL_HWBAS           LIKE BSEG-DMBTR,
    TOTAL_DIF       TYPE P DECIMALS 2,
    TOTAL_RET_OTROS       LIKE BSEG-DMBTR,
    TOTAL_IGV        LIKE BSEG-DMBTR,
    TOTAL_VENDOR        LIKE BSEG-DMBTR,
    TOTAL_CIF       LIKE BSEG-DMBTR,
    TOTAL_AD_VAL        LIKE BSEG-DMBTR,
    TOTAL_REINTEGRO       LIKE BSEG-DMBTR,
    SAVE_DOCTYP(3)       TYPE C,
    SAVE_TOTAL_DOCTYP(3) TYPE C,
    SAVE_BKTXT(21)     TYPE C,
    DOCNAME(30)        TYPE C,
   COUNT           TYPE I,
   RAD            TYPE I,
   SAVE_PAGE          TYPE I,
   LIN          TYPE I,
   FLAGGA(2)         TYPE C,
   W_LIFNR_FLAG(1)      TYPE C,
   W_MWSKZ_FLAG(1)        TYPE C,
   TEMP_BELNR         LIKE BSEG-BELNR.
selection-screen: begin of block 1 with frame title text-001.
SELECTION-SCREEN SKIP .
parameters:
      P_COMP LIKE T001-BUKRS OBLIGATORY DEFAULT 'PE02'.
SELECT-OPTIONS:
S_BUDAT      FOR BKPF-BUDAT OBLIGATORY,
S_DOCTYP FOR BKPF-BLART ,
S_VENDOR FOR LFA1-LIFNR ,
S_TCODE      FOR BKPF-TCODE.
selection-screen end of block 1.
SELECTION-SCREEN: BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-022.
SELECTION-SCREEN SKIP .
PARAMETERS:
       P_REP_DT AS CHECKBOX DEFAULT 'X',
       P_REP_SM AS CHECKBOX,
       P_REP_CS AS CHECKBOX.
SELECTION-SCREEN SKIP .
PARAMETER: P_PRINT AS CHECKBOX.
SELECTION-SCREEN SKIP .
SELECTION-SCREEN END OF BLOCK 2.
DATA: DOCTYP(35)     TYPE C,
   DOCNR(10)     TYPE C,
   TOTAL        LIKE BSEG-DMBTR,
   DIF       LIKE BSEG-DMBTR,
   SUMMA(1)      TYPE C.
DATA: BEGIN OF LIST2 OCCURS 0,
   DOCTYP(3) TYPE C,
   BELNR      LIKE BKPF-BELNR,
   GJAHR       LIKE BKPF-GJAHR,
   BLART      LIKE BKPF-BLART,
   BLDAT      LIKE BKPF-BLDAT,
   BUDAT      LIKE BKPF-BUDAT,
   XBLNR      LIKE BKPF-XBLNR,
   BKTXT      LIKE BKPF-BKTXT,
   SHKZG      LIKE BSEG-SHKZG,
   HWBAS       LIKE BSEG-HWBAS,
   RET_OTROS LIKE BSEG-DMBTR,
   IGV      LIKE BSEG-DMBTR,
   TOTAL      LIKE BSEG-DMBTR,
   DIF     LIKE BSEG-DMBTR,
HKONT      LIKE BSEG-HKONT,
    LIFNR     LIKE BSEG-LIFNR,
    MWSKZ        LIKE BSEG-MWSKZ,
    STCD1     LIKE LFA1-STCD1,
    NAME1       LIKE LFA1-NAME1,
    CIF      LIKE BSEG-DMBTR,
    AD_VAL       LIKE BSEG-DMBTR,
    REINTEGRO LIKE BSEG-DMBTR,
    TCODE      LIKE BKPF-TCODE,
    STBLG      LIKE BKPF-STBLG,
    STJAH       LIKE BKPF-STJAH,
    END OF LIST2.
DATA: BEGIN OF LIST3 OCCURS 0,
   BELNR      LIKE BSEG-BELNR,
   SHKZG      LIKE BSEG-SHKZG,
   HWBAS       LIKE BSEG-DMBTR,
   DMBTR      LIKE BSEG-DMBTR,
   SGTXT(20) TYPE C,
   HKONT      LIKE BSEG-HKONT,
   LIFNR     LIKE BSEG-LIFNR,
   MWSKZ       LIKE BSEG-MWSKZ,
   TOTAL      LIKE BSEG-DMBTR,
   END OF LIST3.
DATA: BEGIN OF LIST4 OCCURS 0.
    INCLUDE STRUCTURE LIST2.
DATA: END OF LIST4.
DATA: BEGIN OF LIST5 OCCURS 0.
    INCLUDE STRUCTURE LIST2.
DATA: END OF LIST5.
DATA: BEGIN OF TOTAL_LIST OCCURS 0,
   DOCTYP(3)           TYPE C,
   DOCNAME(30)           TYPE C,
   HWBAS              LIKE BSEG-DMBTR,
   DIF            LIKE BSEG-DMBTR,
   RET_OTROS           LIKE BSEG-DMBTR,
   IGV             LIKE BSEG-DMBTR,
   VENDOR             LIKE BSEG-DMBTR,
   END OF TOTAL_LIST.
DATA: SAVE_BELNR LIKE BSEG-BELNR.
* Modified begin by FAE2000.02.18
DATA ACCT8(8) TYPE C.
RANGES R_ACCT FOR ACCT8.
INITIALIZATION.
  REFRESH R_ACCT.
  MOVE 'I' TO R_ACCT-SIGN.
  MOVE 'EQ' TO R_ACCT-OPTION.
* SELECT * FROM YFCTAPOLI.
* CONCATENATE '0000' YFCTAPOLI-ACCT4 INTO R_ACCT-LOW.
* APPEND R_ACCT.
* ENDSELECT.
* Modified end by FAE2000.02.18
*$*$----------------- M A I N R O U T I N E ------------------------ *
START-OF-SELECTION.
 IF P_PRINT = 'X'.
   NEW-PAGE PRINT ON.
 ENDIF.
 PERFORM SELECT_DATA_FROM_TABLES.
 PERFORM ADJUST_TO_REPORT.
 IF P_REP_DT EQ 'X'.
   FLAGGA = 'dt'.
   PERFORM WRITE_DETAILED_REPORT.
 ENDIF.
 IF P_REP_SM EQ 'X'.
   FLAGGA = 'sm'.
   PERFORM WRITE_SUMMARY_REPORT.
 ENDIF.
 IF P_REP_CS EQ 'X'.
   FLAGGA = 'cs'.
   PERFORM WRITE_CUSTOMER_REPORT.
 ENDIF.
END-OF-SELECTION.
*---------------------------------------------------------------------*
*     FORM SELECT_DATA_FROM_TABLES                                   *
*---------------------------------------------------------------------*
*     ........                                   *
*---------------------------------------------------------------------*
FORM SELECT_DATA_FROM_TABLES.
 SELECT BELNR GJAHR BLART BLDAT BUDAT XBLNR BKTXT TCODE
     STBLG STJAH
FROM BKPF INTO CORRESPONDING FIELDS OF LIST2
      WHERE BUKRS = P_COMP         AND
          BUDAT IN S_BUDAT      AND
          BLART IN S_DOCTYP AND
          TCODE IN S_TCODE    AND
        ( TCODE <> 'FB05'    AND
          TCODE NOT LIKE 'FBZ%' AND
          TCODE NOT LIKE 'FB1%' ).
  IF LIST2-TCODE = 'FB08'.                 "FA19990608
    SELECT SINGLE * FROM BKPF
        WHERE BUKRS = P_COMP      AND
           BELNR = LIST2-STBLG AND
           GJAHR = LIST2-STJAH AND
           TCODE = 'FB01'.
    IF SY-SUBRC NE 0.
      CONTINUE.
    ELSE.
      IF BKPF-BLART EQ 'A5' OR BKPF-BLART EQ '38'.
        MOVE BKPF-BLART TO LIST2-BLART.
      ENDIF.
    ENDIF.
  ENDIF.                             "FA19990608
  clear: w_lifnr_flag, w_mwskz_flag.
  SELECT BELNR MWSKZ LIFNR FROM BSEG
               INTO CORRESPONDING FIELDS OF LIST2
        where bukrs eq p_comp and
           belnr eq list2-belnr and
           gjahr eq list2-gjahr.
    IF LIST2-LIFNR IN S_VENDOR AND LIST2-LIFNR NE SPACE.
      w_lifnr_flag = 'X'.
    endif.
   IF LIST2-MWSKZ(1) = 'C' OR LIST2-MWSKZ(1) = 'R'.
     w_mwskz_flag = 'X'.
   endif.
  ENDSELECT.
  if w_lifnr_flag = 'X' and
     w_mwskz_flag = 'X'.
    MOVE LIST2-XBLNR(3) TO LIST2-DOCTYP.
    IF LIST2-DOCTYP NE 'FAC' AND
      LIST2-DOCTYP NE 'NCR' AND
      LIST2-DOCTYP NE 'NDR' AND
      LIST2-DOCTYP NE 'BVT' AND
      LIST2-DOCTYP NE 'RCB' AND
      LIST2-DOCTYP NE 'PAD' AND
      LIST2-DOCTYP NE 'NCD' AND "FAE200.02.18
      LIST2-DOCTYP NE 'NCC'.    "FAE200.02.18
      MOVE '000' TO LIST2-DOCTYP.
    ENDIF.
    append list2.
  ENDIF.
 ENDSELECT.
ENDFORM.
*---------------------------------------------------------------------*
*     FORM ADJUST_TO_REPORT                                     *
*---------------------------------------------------------------------*
*     ........                                   *
*---------------------------------------------------------------------*
FORM ADJUST_TO_REPORT.
 LOOP AT LIST2.
  MOVE LIST2 TO LIST4.
  SELECT HWBAS DMBTR HKONT LIFNR MWSKZ SGTXT SHKZG
      FROM BSEG INTO CORRESPONDING FIELDS OF LIST3
               WHERE BUKRS EQ P_COMP AND
                  BELNR = LIST2-BELNR AND
                  GJAHR = LIST2-GJAHR .
    IF LIST3-SHKZG = 'H'.
      LIST3-DMBTR = LIST3-DMBTR * -1.
    ENDIF.
    IF LIST3-SHKZG = 'S'.
      LIST3-HWBAS = LIST3-HWBAS * -1.
    ENDIF.
    IF LIST4-DOCTYP = 'RCB'    AND
       LIST3-HKONT = '0000255090' AND
       LIST3-MWSKZ <> 'R0'.
      LIST3-TOTAL = ( LIST3-HWBAS + LIST3-DMBTR ).
      MOVE LIST3-TOTAL TO LIST4-TOTAL.
    ENDIF.
    IF LIST3-LIFNR NE ''.
      MOVE LIST3-MWSKZ TO LIST4-MWSKZ.
      MOVE LIST3-LIFNR TO LIST4-LIFNR.
      MOVE LIST3-DMBTR TO LIST4-TOTAL.
    ENDIF.
IF LIST3-HKONT = '0000264101' OR
        LIST3-HKONT = '0000255090'.
        MOVE LIST3-HWBAS TO LIST4-HWBAS.
      ENDIF.
      IF LIST3-HKONT = '0000264102' OR
        LIST3-HKONT = '0000255090'.
        MOVE LIST3-DMBTR TO LIST4-RET_OTROS.
      ELSEIF LIST3-HKONT = '0000264101'.
        MOVE LIST3-DMBTR TO LIST4-IGV.
      ENDIF.
*     if ( list3-hkont(8) eq '00001483' or        "FAE19990716
*          list3-hkont(8) eq '00001681' or      "FAE19990716
*          list3-hkont(8) eq '00001689' or       "FAE19990716
*          list3-hkont(8) eq '00005420' or        "FAE19990716
*          list3-hkont(8) eq '00005440' or        "FAE19990716
*          list3-hkont(8) eq '00005511' or      "FAE19990716
*          list3-hkont(8) eq '00005570' or        "FAE19990716
*          list3-hkont(8) eq '00005720' or        "FAE19990716
*          list3-hkont(8) eq '00005932' or        "FAE19990716
*          list3-hkont(8) eq '00006010' or       "FAE19990716
*          list3-hkont(8) eq '00006098' or        "FAE19990716
*          list3-hkont(8) eq '00006110' or      "FAE19990716
*          list3-hkont(8) eq '00006592' or        "FAE19990716
*          list3-hkont(8) eq '00006992' ).       "FAE19990716
      IF LIST3-HKONT(8) IN R_ACCT.
        IF LIST3-SGTXT(3) EQ 'CIF'.
          MOVE LIST3-DMBTR TO LIST4-CIF.
        ELSEIF LIST3-SGTXT(10) EQ 'AD-VALOREM'.
          MOVE LIST3-DMBTR TO LIST4-AD_VAL.
        ELSEIF LIST3-SGTXT(9) EQ 'REINTEGRO'.
          MOVE LIST3-DMBTR TO LIST4-REINTEGRO.
        ENDIF.
      ENDIF.
     ENDSELECT.
     IF LIST4-DOCTYP EQ 'RCB'.
     LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS - LIST4-RET_OTROS + LIST4-IGV.
     ELSE.
     LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS + LIST4-RET_OTROS + LIST4-IGV.
     ENDIF.
     SELECT NAME1 STCD1
         FROM LFA1 INTO CORRESPONDING FIELDS OF LIST4
              WHERE LIFNR = LIST4-LIFNR.
     ENDSELECT.
     APPEND LIST4.
     CLEAR LIST4.
    ENDLOOP.
    SORT LIST4 BY DOCTYP XBLNR BUDAT BLART.
ENDFORM.
*&---------------------------------------------------------------------*
*&     Form WRITE_COLUMN_NAME
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_COLUMN_NAME.
  SKIP.
  WRITE:/ TEXT-004,           13 TEXT-004,        26 TEXT-007,
         58 TEXT-009, 76 TEXT-011,            98 TEXT-013,
         116 TEXT-015, 136 TEXT-017,         153 TEXT-019, "total
         171 TEXT-020.           " origen referencia
 WRITE:/ TEXT-005,       13 TEXT-006,    26 TEXT-008,
        58 TEXT-010, 76 TEXT-012,     98 TEXT-014,
        116 TEXT-016, 136 TEXT-018,   153 TEXT-005,
        181 TEXT-021.
 ULINE.
ENDFORM.                    " WRITE_COLUMN_NAME
*&---------------------------------------------------------------------*
*&     Form WRITE_DETAILED_REPORT
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_DETAILED_REPORT.
    DESCRIBE TABLE LIST4 LINES RAD.
    IF RAD LT 1.
      MESSAGE E102.
    ENDIF.
    CLEAR RAD.
    NEW-PAGE .
    REFRESH LIST5.
LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'.
* if list4-mwskz ne 'CN'.             "FAE09071999
  MOVE LIST4 TO LIST5.
  APPEND LIST5.
* endif.                         "FAE09071999
 ENDLOOP.
*BREAK-POINT.
 LOOP AT LIST5.
  CASE LIST5-DOCTYP.
   WHEN 'FAC'.
    DOCNAME = TEXT-039.           "FAE2000.02.18
   WHEN 'NDR'.
    DOCNAME = TEXT-040.           "FAE2000.02.18
   WHEN 'NCR' .
    DOCNAME = TEXT-041.         "FAE2000.02.18
   WHEN 'BVT'.
    DOCNAME = TEXT-044.           "FAE2000.02.18
   WHEN 'RCB'.
    DOCNAME = TEXT-042.         "FAE2000.02.18
   WHEN 'PAD'.
    DOCNAME = TEXT-043.           "FAE2000.02.18
   WHEN 'NCD'.
    DOCNAME = TEXT-045.         "FAE2000.02.18
   WHEN 'NCC'.
    DOCNAME = TEXT-046.           "FAE2000.02.18
   WHEN '000'.
    DOCNAME = 'OTROS'.
  ENDCASE.
  AT NEW DOCTYP.
    NEW-PAGE.
    SAVE_DOCTYP = LIST5-DOCTYP.
    PERFORM WRITE_GENERAL_TITLE.
    SKIP.
    WRITE: /73 TEXT-003, 93 DOCNAME.
    SKIP .
    PERFORM WRITE_COLUMN_NAME.
  ENDAT.
DATA: CAD(20) TYPE C, NAN(3) TYPE C, UNE(10) TYPE C.
NAN = 'AÑO'.
CONCATENATE NAN LIST5-BLDAT+0(4) INTO UNE.
CONCATENATE LIST5-NAME1+0(4) UNE INTO CAD SEPARATED BY '_'.
  IF LIST5-DOCTYP = SAVE_DOCTYP.
*    WRITE : / LIST5-XBLNR+4,
*            13 LIST5-STCD1,
*            26 LIST5-NAME1,
*            58 LIST5-BLDAT,
*            70 LIST5-HWBAS,
*            92 LIST5-DIF,
*           111 LIST5-RET_OTROS,
*           129 LIST5-IGV,
*           148 LIST5-TOTAL,
*           171 LIST5-MWSKZ.
 WRITE : / LIST5-XBLNR+4,
            13 LIST5-STCD1,
            22 LIST5-NAME1,
            58 LIST5-BLDAT,
            71 CAD,
            93 LIST5-HWBAS,
           112 LIST5-DIF,
           130 LIST5-RET_OTROS,
           149 LIST5-IGV,
           172 LIST5-TOTAL,
           190 LIST5-MWSKZ.
   IF ( LIST5-XBLNR(3) EQ 'NDR' OR LIST5-XBLNR(3) EQ 'NCR' ).
     WRITE: 178 LIST5-BKTXT.
   ELSEIF LIST5-DOCTYP EQ '000'.
     WRITE: 178 'Doc.SAP:', LIST5-BELNR, P_COMP, LIST5-GJAHR.
   ENDIF.
   ADD LIST5-HWBAS TO TOTAL_HWBAS.
   ADD LIST5-DIF TO TOTAL_DIF.
   ADD LIST5-IGV TO TOTAL_IGV.
   ADD LIST5-TOTAL TO TOTAL_VENDOR.
   ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS.
  ENDIF.
  AT END OF DOCTYP.
   SKIP 2.
   WRITE: /10 'TOTAL', DOCNAME,
        70 TOTAL_HWBAS,
        91 TOTAL_DIF,
       111 TOTAL_RET_OTROS,
       129 TOTAL_IGV,
       148 TOTAL_VENDOR.
   CLEAR: TOTAL_HWBAS,
      TOTAL_DIF,
      TOTAL_RET_OTROS,
      TOTAL_IGV,
      TOTAL_VENDOR,
SAVE_DOCTYP.
  ENDAT.
 ENDLOOP.
ENDFORM.                        " WRITE_DETAILED_REPORT
*&---------------------------------------------------------------------*
*&     Form WRITE_SUMMARY_REPORT
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_SUMMARY_REPORT.
  NEW-PAGE.
 DESCRIBE TABLE LIST4 LINES RAD.
 IF RAD LT 1.
   MESSAGE E102.
 ENDIF.
 PERFORM WRITE_GENERAL_TITLE.
 WRITE: /87 TEXT-032.
 SKIP.
 ULINE.
 SKIP.WRITE: / TEXT-033,
        27 TEXT-034,
        52 TEXT-035,
        77 TEXT-036,
       100 TEXT-037,
       125 TEXT-038.
 SKIP.
 SORT LIST4 BY DOCTYP.
 REFRESH LIST5.
 LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'.
* if list4-mwskz ne 'CN'.             "FAE09071999
  MOVE LIST4 TO LIST5.
  APPEND LIST5.
* endif.                         "FAE09071999
 ENDLOOP.
 LOOP AT LIST5.
  AT NEW DOCTYP.
   SAVE_DOCTYP = LIST5-DOCTYP.
  ENDAT.
  IF LIST5-DOCTYP EQ SAVE_DOCTYP.
    MOVE SAVE_DOCTYP TO SAVE_TOTAL_DOCTYP.
    ADD LIST5-HWBAS TO TOTAL_HWBAS.
    ADD LIST5-DIF TO TOTAL_DIF.
    ADD LIST5-IGV TO TOTAL_IGV.
    ADD LIST5-TOTAL TO TOTAL_VENDOR.
    ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS.
  ENDIF.
  AT END OF DOCTYP.
   MOVE LIST5-DOCTYP TO TOTAL_LIST-DOCTYP.
    CASE TOTAL_LIST-DOCTYP.
     WHEN '000'.
      MOVE TEXT-047 TO TOTAL_LIST-DOCNAME.
     WHEN 'FAC'.
      MOVE TEXT-039 TO TOTAL_LIST-DOCNAME.
     WHEN 'NDR'.
      MOVE TEXT-040 TO TOTAL_LIST-DOCNAME.
     WHEN 'NCR' .
      MOVE TEXT-041 TO TOTAL_LIST-DOCNAME.
     WHEN 'BVT'.
      MOVE 'BOLETA DE VENTA' TO TOTAL_LIST-DOCNAME.
     WHEN 'RCB'.
      MOVE TEXT-042 TO TOTAL_LIST-DOCNAME.
     WHEN 'PAD'.
      MOVE TEXT-043 TO TOTAL_LIST-DOCNAME.
     WHEN 'NCD'.
      MOVE TEXT-045 TO TOTAL_LIST-DOCNAME.
     WHEN 'NCC'.
      MOVE TEXT-046 TO TOTAL_LIST-DOCNAME.
    ENDCASE.
    MOVE TOTAL_HWBAS TO TOTAL_LIST-HWBAS.
    MOVE TOTAL_DIF TO TOTAL_LIST-DIF.
    MOVE TOTAL_IGV TO TOTAL_LIST-IGV.
    MOVE TOTAL_VENDOR TO TOTAL_LIST-VENDOR.
    MOVE TOTAL_RET_OTROS TO TOTAL_LIST-RET_OTROS.
    WRITE: /1 TOTAL_LIST-DOCNAME,
        25 TOTAL_LIST-HWBAS,
        50 TOTAL_LIST-DIF,
        75 TOTAL_LIST-RET_OTROS,
       100 TOTAL_LIST-IGV,
125 TOTAL_LIST-VENDOR.
    APPEND TOTAL_LIST.
   CLEAR: TOTAL_HWBAS,
      TOTAL_DIF,
      TOTAL_RET_OTROS,
      TOTAL_IGV,
      TOTAL_VENDOR.
  ENDAT.
 ENDLOOP.              " loop at list5
 LOOP AT TOTAL_LIST.
  AT LAST.
   SUM.
   SKIP.
   WRITE: / TEXT-050,
          25 TOTAL_LIST-HWBAS,
          50 TOTAL_LIST-DIF,
          75 TOTAL_LIST-RET_OTROS,
         100 TOTAL_LIST-IGV,
         125 TOTAL_LIST-VENDOR.
  ENDAT.
 ENDLOOP.
 SKIP 2.
ENDFORM.                         " WRITE_SUMMARY_REPORT
*&---------------------------------------------------------------------*
*&     Form WRITE_CUSTOMER_REPORT
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_CUSTOMER_REPORT.
  SORT LIST4 BY BLART.
  NEW-PAGE.
 LOOP AT LIST4 WHERE
   BLART = 'A5' OR BLART = '38'.
  WRITE: / LIST4-BKTXT+4,
       30 LIST4-NAME1,
       65 LIST4-XBLNR,
       85 LIST4-BLDAT,
       95 LIST4-CIF,
       114 LIST4-AD_VAL,
       135 LIST4-RET_OTROS,
       155 LIST4-IGV,
       175 LIST4-REINTEGRO,
       195 LIST4-TOTAL.
  ADD LIST4-CIF TO TOTAL_CIF.
  ADD LIST4-AD_VAL TO TOTAL_AD_VAL.
  ADD LIST4-IGV TO TOTAL_IGV.
  ADD LIST4-TOTAL TO TOTAL_VENDOR.
  ADD LIST4-REINTEGRO TO TOTAL_REINTEGRO.
  ADD LIST4-RET_OTROS TO TOTAL_RET_OTROS.
 ENDLOOP.
 SKIP.
 WRITE: /20 'TOTAL COMPANIA:',
       95 TOTAL_CIF,
     115 TOTAL_AD_VAL,
     135 TOTAL_RET_OTROS,
     155 TOTAL_IGV,
     175 TOTAL_REINTEGRO,
     195 TOTAL_VENDOR.
 SKIP.
ENDFORM.                        " WRITE_CUSTOMER_REPORT
*&---------------------------------------------------------------------*
*&     Form WRITE_GENERAL_TITLE
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_GENERAL_TITLE.
  SKIP TO LINE 2.
  WRITE : /73 TEXT-002, S_BUDAT-LOW.
  IF S_BUDAT-HIGH IS INITIAL.
  ELSE.
    WRITE: ' AL ' .
    WRITE: S_BUDAT-HIGH.
  ENDIF.
ENDFORM.                        " WRITE_GENERAL_TITLE
*&---------------------------------------------------------------------*
*&    Form WRITE_COLUMN_REP2
*&---------------------------------------------------------------------*
*     text                                         *
*----------------------------------------------------------------------*
* --> p1      text
* <-- p2       text
*----------------------------------------------------------------------*
FORM WRITE_COLUMN_REP2.
 WRITE: / TEXT-004,              30 TEXT-007,                65 TEXT-004,
    143 TEXT-024,              204 TEXT-019.
 WRITE:/ TEXT-025,                30 TEXT-008,              65 TEXT-027,
     85 TEXT-009,              105 TEXT-028,            119 TEXT-029,
     143 TEXT-030,              165 TEXT-017,            181 TEXT-031,
     204 TEXT-027.
 ULINE.
ENDFORM.                                     " WRITE_COLUMN_REP2
**********************************************************************
TOP-OF-PAGE.
  SKIP TO LINE 2.
  WRITE : /177 'PAG. :' , SY-PAGNO.
  WRITE : /177 'FECHA:' , SY-DATUM.
  WRITE : /177 'HORA :' , SY-UZEIT.
  SKIP.
 CASE FLAGGA.
  WHEN 'cs' .
   SKIP TO LINE 2.
   PERFORM WRITE_GENERAL_TITLE.
   SKIP.
   WRITE: /73 TEXT-023.
   SKIP.
   PERFORM WRITE_COLUMN_REP2.
  WHEN 'dt'.
   SKIP TO LINE 2.
   PERFORM WRITE_GENERAL_TITLE.
   SKIP.
   WRITE: /73 TEXT-003, 93 DOCNAME.
   SKIP.
   PERFORM WRITE_COLUMN_NAME.
ENDCASE.

DOCUMENTANDO:

LISTA4: ES UNA TABLA QUE CONTIEN UNA ETSRUCTURA LLAMADA LIST2 TAL COMO SE MUESTRA EN EL CODIGO.
         DATA: BEGIN OF LIST4 OCCURS 0.
                INCLUDE STRUCTURE LIST2.
         DATA: END OF LIST4.
LOS CAMPOS QUE TIENE LA ESTARUCTURA LIST2 INCLUDIA EN LA TABLA LISTA4 SON:

            DATA: BEGIN OF LIST2 OCCURS 0,
                 DOCTYP(3)     TYPE C,
                 BELNR        LIKE BKPF-BELNR,
                 GJAHR         LIKE BKPF-GJAHR,
                 BLART        LIKE BKPF-BLART,
                 BLDAT        LIKE BKPF-BLDAT,
                 BUDAT         LIKE BKPF-BUDAT,
                 XBLNR        LIKE BKPF-XBLNR,
                 BKTXT         LIKE BKPF-BKTXT,
                 SHKZG         LIKE BSEG-SHKZG,
                 HWBAS          LIKE BSEG-HWBAS,
                 RET_OTROS      LIKE BSEG-DMBTR,
                 IGV         LIKE BSEG-DMBTR,
                 TOTAL        LIKE BSEG-DMBTR,
                 DIF        LIKE BSEG-DMBTR,
                 HKONT         LIKE BSEG-HKONT,
                 LIFNR       LIKE BSEG-LIFNR,
                 MWSKZ           LIKE BSEG-MWSKZ,
                 STCD1        LIKE LFA1-STCD1,
                 NAME1         LIKE LFA1-NAME1,
                 CIF        LIKE BSEG-DMBTR,
                 AD_VAL        LIKE BSEG-DMBTR,
                 REINTEGRO      LIKE BSEG-DMBTR,
TCODE       LIKE BKPF-TCODE,
         STBLG       LIKE BKPF-STBLG,
         STJAH         LIKE BKPF-STJAH,
         END OF LIST2.




EN EL REPORTE DE COMRPAS QUE SE MUESTRA TENEMOS LOS SIGUIENTES CAMPOS
COMO SON POR ORDEN DE IZQUIERDA A DERECHA LOS SGTES:

  •   LIST5-STCD1: HEREDA DE LFA1-STCD1
      STCD1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO
      STCD1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y STCD1 ALMACENA
      EL NUMERO DE IDENTIFICACION FISCAL.

  •   LIST5-NAME1: HEREDA DE LFA1-NAME1
      NAME1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO
      NAME1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y NAME1 ALMACENA
      EL NOMBRE DEL PROVEEDOR.

  •   LIST5-BLDAT: HEREDA DE BKPF-BLDAT
      BLDAT ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BKPF Y DEL CAMPO
      BLDAT, BKPF ES LA TABLA DE CABECERA DEL DOCUMENTO DE CONTABLIDAD
      Y BLDAT ES EL CAMPO QUE ALMACENA LA FECHA DEL DOCUMENTO.

  •   LIST5-HWBAS: HEREDA DE LIKE BSEG-HWBAS
      HWBAS ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      HWBAS, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD
      Y HWBAS ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-DIF: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
      DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-RET_OTROS: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
      DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-IGV: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
      DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
      MONEDA LOCAL.

  •   LIST5-TOTAL: HEREDA DE LIKE BSEG-DMBTR
      DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO
      DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN
    MONEDA LOCAL.

•   LIST5-MWSKZ: HEREDA DE LIKE BSEG-MWSKZ
    MWSKZ ES UN CAMPO QUE ES EXTRAIDO DE LA TABAL BSEG Y DEL CAMPO
    MWSKZ, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD
    Y DMBTR ES EL CAMPO QUE ALMACENA EL INDICADOR IVA.

Weitere ähnliche Inhalte

Ähnlich wie Report zcomprasreporte abap

Procure to pay base tables flow
Procure to pay base tables flowProcure to pay base tables flow
Procure to pay base tables flowS Kumar G
 
Eikon IBOR transition workflow
Eikon IBOR transition workflowEikon IBOR transition workflow
Eikon IBOR transition workflowisc_library
 
07.advanced abap
07.advanced abap07.advanced abap
07.advanced abapPhong Ho
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid listNur Khoiri
 
fdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdffdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdfSaidHaman
 
The_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdfThe_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdfssuser340a0c
 
Call session Method of BDC
Call session Method of BDCCall session Method of BDC
Call session Method of BDCRavi Kanudawala
 
Kubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてKubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてLINE Corporation
 
F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134Peru Electronics
 
Alvedit programs
Alvedit programsAlvedit programs
Alvedit programsmcclintick
 
Cobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdfCobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdfrydeberghal13313
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEvr1sap
 
P & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PEP & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PEJulio Banks
 
Endevor api an introduction to the endevor application programming interface
Endevor api   an introduction to the endevor application programming interface Endevor api   an introduction to the endevor application programming interface
Endevor api an introduction to the endevor application programming interface Kevin Grimes
 

Ähnlich wie Report zcomprasreporte abap (20)

Classical report
Classical reportClassical report
Classical report
 
Zi fi final prog
Zi fi final progZi fi final prog
Zi fi final prog
 
Procure to pay base tables flow
Procure to pay base tables flowProcure to pay base tables flow
Procure to pay base tables flow
 
Alv a otro alv
Alv a otro alvAlv a otro alv
Alv a otro alv
 
Alv grid
Alv gridAlv grid
Alv grid
 
Eikon IBOR transition workflow
Eikon IBOR transition workflowEikon IBOR transition workflow
Eikon IBOR transition workflow
 
07.advanced abap
07.advanced abap07.advanced abap
07.advanced abap
 
Example syntax alv grid list
Example syntax alv grid listExample syntax alv grid list
Example syntax alv grid list
 
fdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdffdocuments.in_the-ericsson-commands.pdf
fdocuments.in_the-ericsson-commands.pdf
 
ABAP Advanced List
ABAP Advanced ListABAP Advanced List
ABAP Advanced List
 
Report zalv
Report  zalvReport  zalv
Report zalv
 
The_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdfThe_ERICSSON_commands_listed_below_are_f (1) (1).pdf
The_ERICSSON_commands_listed_below_are_f (1) (1).pdf
 
Call session Method of BDC
Call session Method of BDCCall session Method of BDC
Call session Method of BDC
 
Kubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべてKubernetes ネットワーキングのすべて
Kubernetes ネットワーキングのすべて
 
F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134F z94 l-_pioneer__tuner__arp2134
F z94 l-_pioneer__tuner__arp2134
 
Alvedit programs
Alvedit programsAlvedit programs
Alvedit programs
 
Cobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdfCobol Error Its states that my patron-line wasnt defined as a data .pdf
Cobol Error Its states that my patron-line wasnt defined as a data .pdf
 
ABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLEABAP EVENTS EXAMPLE
ABAP EVENTS EXAMPLE
 
P & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PEP & W FT8 Telemetry by Julio C. Banks, PE
P & W FT8 Telemetry by Julio C. Banks, PE
 
Endevor api an introduction to the endevor application programming interface
Endevor api   an introduction to the endevor application programming interface Endevor api   an introduction to the endevor application programming interface
Endevor api an introduction to the endevor application programming interface
 

Kürzlich hochgeladen

Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...Nitya salvi
 
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and ModelMandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Modelhotbabesbook
 
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 9777949614 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 9777949614 💟 Full Trusted CALL ...Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 9777949614 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 9777949614 💟 Full Trusted CALL ...Call Girls Mumbai
 
Foreigner Call Girls Mahim WhatsApp +91-9833363713, Full Night Service
Foreigner Call Girls Mahim WhatsApp +91-9833363713, Full Night ServiceForeigner Call Girls Mahim WhatsApp +91-9833363713, Full Night Service
Foreigner Call Girls Mahim WhatsApp +91-9833363713, Full Night Servicemeghakumariji156
 
High Profile Escort in Dubai 0524076003 Dubai Escorts
High Profile Escort in Dubai 0524076003 Dubai EscortsHigh Profile Escort in Dubai 0524076003 Dubai Escorts
High Profile Escort in Dubai 0524076003 Dubai EscortsMonica Sydney
 
Turbhe Female Escorts 09167354423 Turbhe Escorts,Call Girls In Turbhe
Turbhe Female Escorts 09167354423  Turbhe Escorts,Call Girls In TurbheTurbhe Female Escorts 09167354423  Turbhe Escorts,Call Girls In Turbhe
Turbhe Female Escorts 09167354423 Turbhe Escorts,Call Girls In TurbhePriya Reddy
 
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...call girls kolkata
 
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...priyasharma62062
 
Prayagraj College Girls Escorts 8250092165 Short 1500 Night 6000 Best call g...
Prayagraj College Girls Escorts  8250092165 Short 1500 Night 6000 Best call g...Prayagraj College Girls Escorts  8250092165 Short 1500 Night 6000 Best call g...
Prayagraj College Girls Escorts 8250092165 Short 1500 Night 6000 Best call g...meghakumariji156
 
Deira Call girl 0506129535 Independent Call girl in Deira
Deira Call girl 0506129535  Independent Call girl in DeiraDeira Call girl 0506129535  Independent Call girl in Deira
Deira Call girl 0506129535 Independent Call girl in DeiraMonica Sydney
 
Deira Call girls Service 0507330913 Call girls in Deira
Deira Call girls Service 0507330913  Call girls in DeiraDeira Call girls Service 0507330913  Call girls in Deira
Deira Call girls Service 0507330913 Call girls in DeiraMonica Sydney
 
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...call girls kolkata
 
Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...
Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...
Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...call girls kolkata
 
Deira Call girls 0507330913 Call girls in Deira
Deira Call girls 0507330913 Call girls in DeiraDeira Call girls 0507330913 Call girls in Deira
Deira Call girls 0507330913 Call girls in DeiraMonica Sydney
 
Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Nitya salvi
 
Models in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceModels in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceMonica Sydney
 
Call 8617370543 Sangli Call girls with real photos and phone numbers
Call 8617370543 Sangli Call girls with real photos and phone numbersCall 8617370543 Sangli Call girls with real photos and phone numbers
Call 8617370543 Sangli Call girls with real photos and phone numbersNitya salvi
 
Jann Mardenborough's Better Half in Racing and Life
Jann Mardenborough's Better Half in Racing and LifeJann Mardenborough's Better Half in Racing and Life
Jann Mardenborough's Better Half in Racing and Lifeget joys
 
Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...
Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...
Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...DipikaDelhi
 

Kürzlich hochgeladen (20)

Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...
 
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and ModelMandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
 
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 9777949614 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 9777949614 💟 Full Trusted CALL ...Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 9777949614 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 9777949614 💟 Full Trusted CALL ...
 
Foreigner Call Girls Mahim WhatsApp +91-9833363713, Full Night Service
Foreigner Call Girls Mahim WhatsApp +91-9833363713, Full Night ServiceForeigner Call Girls Mahim WhatsApp +91-9833363713, Full Night Service
Foreigner Call Girls Mahim WhatsApp +91-9833363713, Full Night Service
 
High Profile Escort in Dubai 0524076003 Dubai Escorts
High Profile Escort in Dubai 0524076003 Dubai EscortsHigh Profile Escort in Dubai 0524076003 Dubai Escorts
High Profile Escort in Dubai 0524076003 Dubai Escorts
 
Turbhe Female Escorts 09167354423 Turbhe Escorts,Call Girls In Turbhe
Turbhe Female Escorts 09167354423  Turbhe Escorts,Call Girls In TurbheTurbhe Female Escorts 09167354423  Turbhe Escorts,Call Girls In Turbhe
Turbhe Female Escorts 09167354423 Turbhe Escorts,Call Girls In Turbhe
 
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
 
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
 
Prayagraj College Girls Escorts 8250092165 Short 1500 Night 6000 Best call g...
Prayagraj College Girls Escorts  8250092165 Short 1500 Night 6000 Best call g...Prayagraj College Girls Escorts  8250092165 Short 1500 Night 6000 Best call g...
Prayagraj College Girls Escorts 8250092165 Short 1500 Night 6000 Best call g...
 
Deira Call girl 0506129535 Independent Call girl in Deira
Deira Call girl 0506129535  Independent Call girl in DeiraDeira Call girl 0506129535  Independent Call girl in Deira
Deira Call girl 0506129535 Independent Call girl in Deira
 
Deira Call girls Service 0507330913 Call girls in Deira
Deira Call girls Service 0507330913  Call girls in DeiraDeira Call girls Service 0507330913  Call girls in Deira
Deira Call girls Service 0507330913 Call girls in Deira
 
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
Call Girls Rajnandgaon / 9332606886 Genuine Call girls with real Photos and N...
 
Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...
Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...
Call Girls in Perumbavoor / 9332606886 Genuine Call girls with real Photos an...
 
Deira Call girls 0507330913 Call girls in Deira
Deira Call girls 0507330913 Call girls in DeiraDeira Call girls 0507330913 Call girls in Deira
Deira Call girls 0507330913 Call girls in Deira
 
Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Gorakhpur Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
 
Models in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceModels in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl Service
 
Call 8617370543 Sangli Call girls with real photos and phone numbers
Call 8617370543 Sangli Call girls with real photos and phone numbersCall 8617370543 Sangli Call girls with real photos and phone numbers
Call 8617370543 Sangli Call girls with real photos and phone numbers
 
Jann Mardenborough's Better Half in Racing and Life
Jann Mardenborough's Better Half in Racing and LifeJann Mardenborough's Better Half in Racing and Life
Jann Mardenborough's Better Half in Racing and Life
 
Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...
Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...
Call girls Service Bellary - 9332606886 Rs 3000 Free Pickup & Drop Services 2...
 
Abortion pills in Saudi RIYADH (+919707899604 } Get Cytotec
Abortion pills in Saudi RIYADH (+919707899604 } Get CytotecAbortion pills in Saudi RIYADH (+919707899604 } Get Cytotec
Abortion pills in Saudi RIYADH (+919707899604 } Get Cytotec
 

Report zcomprasreporte abap

  • 1. REPORT ZCOMPRASREPORTE NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 65 MESSAGE-ID ZR . *********************************************************************** * This program extracts documents from SAP R/3, (A/P module), * to generate three (3) reports for the PUSCHASE REPORT. * This a Peruvian legal requirement and have a specific format for each * report. * * All the documents (invoices, credit memos) that have been * posted between the initial date and the final date, and have at least * one line item with tax code begining with 'C' or 'R', will be selected * and written on the report. * The records are chosen according to the selection-criteria the * user shows on the screen. * * The documents with the document type '38' or 'A5' are * printed under the title "POLIZAS DE IMPORTACION" * (custom certificate of importations). It has a different * report layout than the other documents. ************************************************************************ TABLES: BKPF, " Accounting document header BSEG, " Accounting document segment LFA1. " Vendor master (general section) * YFCTAPOLI. "FAE2000.02.18 DATA: TOTAL_HWBAS LIKE BSEG-DMBTR, TOTAL_DIF TYPE P DECIMALS 2, TOTAL_RET_OTROS LIKE BSEG-DMBTR, TOTAL_IGV LIKE BSEG-DMBTR, TOTAL_VENDOR LIKE BSEG-DMBTR, TOTAL_CIF LIKE BSEG-DMBTR, TOTAL_AD_VAL LIKE BSEG-DMBTR, TOTAL_REINTEGRO LIKE BSEG-DMBTR, SAVE_DOCTYP(3) TYPE C, SAVE_TOTAL_DOCTYP(3) TYPE C, SAVE_BKTXT(21) TYPE C, DOCNAME(30) TYPE C, COUNT TYPE I, RAD TYPE I, SAVE_PAGE TYPE I, LIN TYPE I, FLAGGA(2) TYPE C, W_LIFNR_FLAG(1) TYPE C, W_MWSKZ_FLAG(1) TYPE C, TEMP_BELNR LIKE BSEG-BELNR. selection-screen: begin of block 1 with frame title text-001. SELECTION-SCREEN SKIP . parameters: P_COMP LIKE T001-BUKRS OBLIGATORY DEFAULT 'PE02'. SELECT-OPTIONS: S_BUDAT FOR BKPF-BUDAT OBLIGATORY, S_DOCTYP FOR BKPF-BLART , S_VENDOR FOR LFA1-LIFNR , S_TCODE FOR BKPF-TCODE. selection-screen end of block 1. SELECTION-SCREEN: BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-022. SELECTION-SCREEN SKIP . PARAMETERS: P_REP_DT AS CHECKBOX DEFAULT 'X', P_REP_SM AS CHECKBOX, P_REP_CS AS CHECKBOX. SELECTION-SCREEN SKIP . PARAMETER: P_PRINT AS CHECKBOX. SELECTION-SCREEN SKIP . SELECTION-SCREEN END OF BLOCK 2. DATA: DOCTYP(35) TYPE C, DOCNR(10) TYPE C, TOTAL LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR, SUMMA(1) TYPE C. DATA: BEGIN OF LIST2 OCCURS 0, DOCTYP(3) TYPE C, BELNR LIKE BKPF-BELNR, GJAHR LIKE BKPF-GJAHR, BLART LIKE BKPF-BLART, BLDAT LIKE BKPF-BLDAT, BUDAT LIKE BKPF-BUDAT, XBLNR LIKE BKPF-XBLNR, BKTXT LIKE BKPF-BKTXT, SHKZG LIKE BSEG-SHKZG, HWBAS LIKE BSEG-HWBAS, RET_OTROS LIKE BSEG-DMBTR, IGV LIKE BSEG-DMBTR, TOTAL LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR,
  • 2. HKONT LIKE BSEG-HKONT, LIFNR LIKE BSEG-LIFNR, MWSKZ LIKE BSEG-MWSKZ, STCD1 LIKE LFA1-STCD1, NAME1 LIKE LFA1-NAME1, CIF LIKE BSEG-DMBTR, AD_VAL LIKE BSEG-DMBTR, REINTEGRO LIKE BSEG-DMBTR, TCODE LIKE BKPF-TCODE, STBLG LIKE BKPF-STBLG, STJAH LIKE BKPF-STJAH, END OF LIST2. DATA: BEGIN OF LIST3 OCCURS 0, BELNR LIKE BSEG-BELNR, SHKZG LIKE BSEG-SHKZG, HWBAS LIKE BSEG-DMBTR, DMBTR LIKE BSEG-DMBTR, SGTXT(20) TYPE C, HKONT LIKE BSEG-HKONT, LIFNR LIKE BSEG-LIFNR, MWSKZ LIKE BSEG-MWSKZ, TOTAL LIKE BSEG-DMBTR, END OF LIST3. DATA: BEGIN OF LIST4 OCCURS 0. INCLUDE STRUCTURE LIST2. DATA: END OF LIST4. DATA: BEGIN OF LIST5 OCCURS 0. INCLUDE STRUCTURE LIST2. DATA: END OF LIST5. DATA: BEGIN OF TOTAL_LIST OCCURS 0, DOCTYP(3) TYPE C, DOCNAME(30) TYPE C, HWBAS LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR, RET_OTROS LIKE BSEG-DMBTR, IGV LIKE BSEG-DMBTR, VENDOR LIKE BSEG-DMBTR, END OF TOTAL_LIST. DATA: SAVE_BELNR LIKE BSEG-BELNR. * Modified begin by FAE2000.02.18 DATA ACCT8(8) TYPE C. RANGES R_ACCT FOR ACCT8. INITIALIZATION. REFRESH R_ACCT. MOVE 'I' TO R_ACCT-SIGN. MOVE 'EQ' TO R_ACCT-OPTION. * SELECT * FROM YFCTAPOLI. * CONCATENATE '0000' YFCTAPOLI-ACCT4 INTO R_ACCT-LOW. * APPEND R_ACCT. * ENDSELECT. * Modified end by FAE2000.02.18 *$*$----------------- M A I N R O U T I N E ------------------------ * START-OF-SELECTION. IF P_PRINT = 'X'. NEW-PAGE PRINT ON. ENDIF. PERFORM SELECT_DATA_FROM_TABLES. PERFORM ADJUST_TO_REPORT. IF P_REP_DT EQ 'X'. FLAGGA = 'dt'. PERFORM WRITE_DETAILED_REPORT. ENDIF. IF P_REP_SM EQ 'X'. FLAGGA = 'sm'. PERFORM WRITE_SUMMARY_REPORT. ENDIF. IF P_REP_CS EQ 'X'. FLAGGA = 'cs'. PERFORM WRITE_CUSTOMER_REPORT. ENDIF. END-OF-SELECTION. *---------------------------------------------------------------------* * FORM SELECT_DATA_FROM_TABLES * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM SELECT_DATA_FROM_TABLES. SELECT BELNR GJAHR BLART BLDAT BUDAT XBLNR BKTXT TCODE STBLG STJAH
  • 3. FROM BKPF INTO CORRESPONDING FIELDS OF LIST2 WHERE BUKRS = P_COMP AND BUDAT IN S_BUDAT AND BLART IN S_DOCTYP AND TCODE IN S_TCODE AND ( TCODE <> 'FB05' AND TCODE NOT LIKE 'FBZ%' AND TCODE NOT LIKE 'FB1%' ). IF LIST2-TCODE = 'FB08'. "FA19990608 SELECT SINGLE * FROM BKPF WHERE BUKRS = P_COMP AND BELNR = LIST2-STBLG AND GJAHR = LIST2-STJAH AND TCODE = 'FB01'. IF SY-SUBRC NE 0. CONTINUE. ELSE. IF BKPF-BLART EQ 'A5' OR BKPF-BLART EQ '38'. MOVE BKPF-BLART TO LIST2-BLART. ENDIF. ENDIF. ENDIF. "FA19990608 clear: w_lifnr_flag, w_mwskz_flag. SELECT BELNR MWSKZ LIFNR FROM BSEG INTO CORRESPONDING FIELDS OF LIST2 where bukrs eq p_comp and belnr eq list2-belnr and gjahr eq list2-gjahr. IF LIST2-LIFNR IN S_VENDOR AND LIST2-LIFNR NE SPACE. w_lifnr_flag = 'X'. endif. IF LIST2-MWSKZ(1) = 'C' OR LIST2-MWSKZ(1) = 'R'. w_mwskz_flag = 'X'. endif. ENDSELECT. if w_lifnr_flag = 'X' and w_mwskz_flag = 'X'. MOVE LIST2-XBLNR(3) TO LIST2-DOCTYP. IF LIST2-DOCTYP NE 'FAC' AND LIST2-DOCTYP NE 'NCR' AND LIST2-DOCTYP NE 'NDR' AND LIST2-DOCTYP NE 'BVT' AND LIST2-DOCTYP NE 'RCB' AND LIST2-DOCTYP NE 'PAD' AND LIST2-DOCTYP NE 'NCD' AND "FAE200.02.18 LIST2-DOCTYP NE 'NCC'. "FAE200.02.18 MOVE '000' TO LIST2-DOCTYP. ENDIF. append list2. ENDIF. ENDSELECT. ENDFORM. *---------------------------------------------------------------------* * FORM ADJUST_TO_REPORT * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM ADJUST_TO_REPORT. LOOP AT LIST2. MOVE LIST2 TO LIST4. SELECT HWBAS DMBTR HKONT LIFNR MWSKZ SGTXT SHKZG FROM BSEG INTO CORRESPONDING FIELDS OF LIST3 WHERE BUKRS EQ P_COMP AND BELNR = LIST2-BELNR AND GJAHR = LIST2-GJAHR . IF LIST3-SHKZG = 'H'. LIST3-DMBTR = LIST3-DMBTR * -1. ENDIF. IF LIST3-SHKZG = 'S'. LIST3-HWBAS = LIST3-HWBAS * -1. ENDIF. IF LIST4-DOCTYP = 'RCB' AND LIST3-HKONT = '0000255090' AND LIST3-MWSKZ <> 'R0'. LIST3-TOTAL = ( LIST3-HWBAS + LIST3-DMBTR ). MOVE LIST3-TOTAL TO LIST4-TOTAL. ENDIF. IF LIST3-LIFNR NE ''. MOVE LIST3-MWSKZ TO LIST4-MWSKZ. MOVE LIST3-LIFNR TO LIST4-LIFNR. MOVE LIST3-DMBTR TO LIST4-TOTAL. ENDIF.
  • 4. IF LIST3-HKONT = '0000264101' OR LIST3-HKONT = '0000255090'. MOVE LIST3-HWBAS TO LIST4-HWBAS. ENDIF. IF LIST3-HKONT = '0000264102' OR LIST3-HKONT = '0000255090'. MOVE LIST3-DMBTR TO LIST4-RET_OTROS. ELSEIF LIST3-HKONT = '0000264101'. MOVE LIST3-DMBTR TO LIST4-IGV. ENDIF. * if ( list3-hkont(8) eq '00001483' or "FAE19990716 * list3-hkont(8) eq '00001681' or "FAE19990716 * list3-hkont(8) eq '00001689' or "FAE19990716 * list3-hkont(8) eq '00005420' or "FAE19990716 * list3-hkont(8) eq '00005440' or "FAE19990716 * list3-hkont(8) eq '00005511' or "FAE19990716 * list3-hkont(8) eq '00005570' or "FAE19990716 * list3-hkont(8) eq '00005720' or "FAE19990716 * list3-hkont(8) eq '00005932' or "FAE19990716 * list3-hkont(8) eq '00006010' or "FAE19990716 * list3-hkont(8) eq '00006098' or "FAE19990716 * list3-hkont(8) eq '00006110' or "FAE19990716 * list3-hkont(8) eq '00006592' or "FAE19990716 * list3-hkont(8) eq '00006992' ). "FAE19990716 IF LIST3-HKONT(8) IN R_ACCT. IF LIST3-SGTXT(3) EQ 'CIF'. MOVE LIST3-DMBTR TO LIST4-CIF. ELSEIF LIST3-SGTXT(10) EQ 'AD-VALOREM'. MOVE LIST3-DMBTR TO LIST4-AD_VAL. ELSEIF LIST3-SGTXT(9) EQ 'REINTEGRO'. MOVE LIST3-DMBTR TO LIST4-REINTEGRO. ENDIF. ENDIF. ENDSELECT. IF LIST4-DOCTYP EQ 'RCB'. LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS - LIST4-RET_OTROS + LIST4-IGV. ELSE. LIST4-DIF = LIST4-TOTAL - LIST4-HWBAS + LIST4-RET_OTROS + LIST4-IGV. ENDIF. SELECT NAME1 STCD1 FROM LFA1 INTO CORRESPONDING FIELDS OF LIST4 WHERE LIFNR = LIST4-LIFNR. ENDSELECT. APPEND LIST4. CLEAR LIST4. ENDLOOP. SORT LIST4 BY DOCTYP XBLNR BUDAT BLART. ENDFORM. *&---------------------------------------------------------------------* *& Form WRITE_COLUMN_NAME *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_COLUMN_NAME. SKIP. WRITE:/ TEXT-004, 13 TEXT-004, 26 TEXT-007, 58 TEXT-009, 76 TEXT-011, 98 TEXT-013, 116 TEXT-015, 136 TEXT-017, 153 TEXT-019, "total 171 TEXT-020. " origen referencia WRITE:/ TEXT-005, 13 TEXT-006, 26 TEXT-008, 58 TEXT-010, 76 TEXT-012, 98 TEXT-014, 116 TEXT-016, 136 TEXT-018, 153 TEXT-005, 181 TEXT-021. ULINE. ENDFORM. " WRITE_COLUMN_NAME *&---------------------------------------------------------------------* *& Form WRITE_DETAILED_REPORT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_DETAILED_REPORT. DESCRIBE TABLE LIST4 LINES RAD. IF RAD LT 1. MESSAGE E102. ENDIF. CLEAR RAD. NEW-PAGE . REFRESH LIST5.
  • 5. LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'. * if list4-mwskz ne 'CN'. "FAE09071999 MOVE LIST4 TO LIST5. APPEND LIST5. * endif. "FAE09071999 ENDLOOP. *BREAK-POINT. LOOP AT LIST5. CASE LIST5-DOCTYP. WHEN 'FAC'. DOCNAME = TEXT-039. "FAE2000.02.18 WHEN 'NDR'. DOCNAME = TEXT-040. "FAE2000.02.18 WHEN 'NCR' . DOCNAME = TEXT-041. "FAE2000.02.18 WHEN 'BVT'. DOCNAME = TEXT-044. "FAE2000.02.18 WHEN 'RCB'. DOCNAME = TEXT-042. "FAE2000.02.18 WHEN 'PAD'. DOCNAME = TEXT-043. "FAE2000.02.18 WHEN 'NCD'. DOCNAME = TEXT-045. "FAE2000.02.18 WHEN 'NCC'. DOCNAME = TEXT-046. "FAE2000.02.18 WHEN '000'. DOCNAME = 'OTROS'. ENDCASE. AT NEW DOCTYP. NEW-PAGE. SAVE_DOCTYP = LIST5-DOCTYP. PERFORM WRITE_GENERAL_TITLE. SKIP. WRITE: /73 TEXT-003, 93 DOCNAME. SKIP . PERFORM WRITE_COLUMN_NAME. ENDAT. DATA: CAD(20) TYPE C, NAN(3) TYPE C, UNE(10) TYPE C. NAN = 'AÑO'. CONCATENATE NAN LIST5-BLDAT+0(4) INTO UNE. CONCATENATE LIST5-NAME1+0(4) UNE INTO CAD SEPARATED BY '_'. IF LIST5-DOCTYP = SAVE_DOCTYP. * WRITE : / LIST5-XBLNR+4, * 13 LIST5-STCD1, * 26 LIST5-NAME1, * 58 LIST5-BLDAT, * 70 LIST5-HWBAS, * 92 LIST5-DIF, * 111 LIST5-RET_OTROS, * 129 LIST5-IGV, * 148 LIST5-TOTAL, * 171 LIST5-MWSKZ. WRITE : / LIST5-XBLNR+4, 13 LIST5-STCD1, 22 LIST5-NAME1, 58 LIST5-BLDAT, 71 CAD, 93 LIST5-HWBAS, 112 LIST5-DIF, 130 LIST5-RET_OTROS, 149 LIST5-IGV, 172 LIST5-TOTAL, 190 LIST5-MWSKZ. IF ( LIST5-XBLNR(3) EQ 'NDR' OR LIST5-XBLNR(3) EQ 'NCR' ). WRITE: 178 LIST5-BKTXT. ELSEIF LIST5-DOCTYP EQ '000'. WRITE: 178 'Doc.SAP:', LIST5-BELNR, P_COMP, LIST5-GJAHR. ENDIF. ADD LIST5-HWBAS TO TOTAL_HWBAS. ADD LIST5-DIF TO TOTAL_DIF. ADD LIST5-IGV TO TOTAL_IGV. ADD LIST5-TOTAL TO TOTAL_VENDOR. ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS. ENDIF. AT END OF DOCTYP. SKIP 2. WRITE: /10 'TOTAL', DOCNAME, 70 TOTAL_HWBAS, 91 TOTAL_DIF, 111 TOTAL_RET_OTROS, 129 TOTAL_IGV, 148 TOTAL_VENDOR. CLEAR: TOTAL_HWBAS, TOTAL_DIF, TOTAL_RET_OTROS, TOTAL_IGV, TOTAL_VENDOR,
  • 6. SAVE_DOCTYP. ENDAT. ENDLOOP. ENDFORM. " WRITE_DETAILED_REPORT *&---------------------------------------------------------------------* *& Form WRITE_SUMMARY_REPORT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_SUMMARY_REPORT. NEW-PAGE. DESCRIBE TABLE LIST4 LINES RAD. IF RAD LT 1. MESSAGE E102. ENDIF. PERFORM WRITE_GENERAL_TITLE. WRITE: /87 TEXT-032. SKIP. ULINE. SKIP.WRITE: / TEXT-033, 27 TEXT-034, 52 TEXT-035, 77 TEXT-036, 100 TEXT-037, 125 TEXT-038. SKIP. SORT LIST4 BY DOCTYP. REFRESH LIST5. LOOP AT LIST4 WHERE BLART NE 'A5' AND BLART NE '38'. * if list4-mwskz ne 'CN'. "FAE09071999 MOVE LIST4 TO LIST5. APPEND LIST5. * endif. "FAE09071999 ENDLOOP. LOOP AT LIST5. AT NEW DOCTYP. SAVE_DOCTYP = LIST5-DOCTYP. ENDAT. IF LIST5-DOCTYP EQ SAVE_DOCTYP. MOVE SAVE_DOCTYP TO SAVE_TOTAL_DOCTYP. ADD LIST5-HWBAS TO TOTAL_HWBAS. ADD LIST5-DIF TO TOTAL_DIF. ADD LIST5-IGV TO TOTAL_IGV. ADD LIST5-TOTAL TO TOTAL_VENDOR. ADD LIST5-RET_OTROS TO TOTAL_RET_OTROS. ENDIF. AT END OF DOCTYP. MOVE LIST5-DOCTYP TO TOTAL_LIST-DOCTYP. CASE TOTAL_LIST-DOCTYP. WHEN '000'. MOVE TEXT-047 TO TOTAL_LIST-DOCNAME. WHEN 'FAC'. MOVE TEXT-039 TO TOTAL_LIST-DOCNAME. WHEN 'NDR'. MOVE TEXT-040 TO TOTAL_LIST-DOCNAME. WHEN 'NCR' . MOVE TEXT-041 TO TOTAL_LIST-DOCNAME. WHEN 'BVT'. MOVE 'BOLETA DE VENTA' TO TOTAL_LIST-DOCNAME. WHEN 'RCB'. MOVE TEXT-042 TO TOTAL_LIST-DOCNAME. WHEN 'PAD'. MOVE TEXT-043 TO TOTAL_LIST-DOCNAME. WHEN 'NCD'. MOVE TEXT-045 TO TOTAL_LIST-DOCNAME. WHEN 'NCC'. MOVE TEXT-046 TO TOTAL_LIST-DOCNAME. ENDCASE. MOVE TOTAL_HWBAS TO TOTAL_LIST-HWBAS. MOVE TOTAL_DIF TO TOTAL_LIST-DIF. MOVE TOTAL_IGV TO TOTAL_LIST-IGV. MOVE TOTAL_VENDOR TO TOTAL_LIST-VENDOR. MOVE TOTAL_RET_OTROS TO TOTAL_LIST-RET_OTROS. WRITE: /1 TOTAL_LIST-DOCNAME, 25 TOTAL_LIST-HWBAS, 50 TOTAL_LIST-DIF, 75 TOTAL_LIST-RET_OTROS, 100 TOTAL_LIST-IGV,
  • 7. 125 TOTAL_LIST-VENDOR. APPEND TOTAL_LIST. CLEAR: TOTAL_HWBAS, TOTAL_DIF, TOTAL_RET_OTROS, TOTAL_IGV, TOTAL_VENDOR. ENDAT. ENDLOOP. " loop at list5 LOOP AT TOTAL_LIST. AT LAST. SUM. SKIP. WRITE: / TEXT-050, 25 TOTAL_LIST-HWBAS, 50 TOTAL_LIST-DIF, 75 TOTAL_LIST-RET_OTROS, 100 TOTAL_LIST-IGV, 125 TOTAL_LIST-VENDOR. ENDAT. ENDLOOP. SKIP 2. ENDFORM. " WRITE_SUMMARY_REPORT *&---------------------------------------------------------------------* *& Form WRITE_CUSTOMER_REPORT *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_CUSTOMER_REPORT. SORT LIST4 BY BLART. NEW-PAGE. LOOP AT LIST4 WHERE BLART = 'A5' OR BLART = '38'. WRITE: / LIST4-BKTXT+4, 30 LIST4-NAME1, 65 LIST4-XBLNR, 85 LIST4-BLDAT, 95 LIST4-CIF, 114 LIST4-AD_VAL, 135 LIST4-RET_OTROS, 155 LIST4-IGV, 175 LIST4-REINTEGRO, 195 LIST4-TOTAL. ADD LIST4-CIF TO TOTAL_CIF. ADD LIST4-AD_VAL TO TOTAL_AD_VAL. ADD LIST4-IGV TO TOTAL_IGV. ADD LIST4-TOTAL TO TOTAL_VENDOR. ADD LIST4-REINTEGRO TO TOTAL_REINTEGRO. ADD LIST4-RET_OTROS TO TOTAL_RET_OTROS. ENDLOOP. SKIP. WRITE: /20 'TOTAL COMPANIA:', 95 TOTAL_CIF, 115 TOTAL_AD_VAL, 135 TOTAL_RET_OTROS, 155 TOTAL_IGV, 175 TOTAL_REINTEGRO, 195 TOTAL_VENDOR. SKIP. ENDFORM. " WRITE_CUSTOMER_REPORT *&---------------------------------------------------------------------* *& Form WRITE_GENERAL_TITLE *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_GENERAL_TITLE. SKIP TO LINE 2. WRITE : /73 TEXT-002, S_BUDAT-LOW. IF S_BUDAT-HIGH IS INITIAL. ELSE. WRITE: ' AL ' . WRITE: S_BUDAT-HIGH. ENDIF. ENDFORM. " WRITE_GENERAL_TITLE *&---------------------------------------------------------------------* *& Form WRITE_COLUMN_REP2
  • 8. *&---------------------------------------------------------------------* * text * *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM WRITE_COLUMN_REP2. WRITE: / TEXT-004, 30 TEXT-007, 65 TEXT-004, 143 TEXT-024, 204 TEXT-019. WRITE:/ TEXT-025, 30 TEXT-008, 65 TEXT-027, 85 TEXT-009, 105 TEXT-028, 119 TEXT-029, 143 TEXT-030, 165 TEXT-017, 181 TEXT-031, 204 TEXT-027. ULINE. ENDFORM. " WRITE_COLUMN_REP2 ********************************************************************** TOP-OF-PAGE. SKIP TO LINE 2. WRITE : /177 'PAG. :' , SY-PAGNO. WRITE : /177 'FECHA:' , SY-DATUM. WRITE : /177 'HORA :' , SY-UZEIT. SKIP. CASE FLAGGA. WHEN 'cs' . SKIP TO LINE 2. PERFORM WRITE_GENERAL_TITLE. SKIP. WRITE: /73 TEXT-023. SKIP. PERFORM WRITE_COLUMN_REP2. WHEN 'dt'. SKIP TO LINE 2. PERFORM WRITE_GENERAL_TITLE. SKIP. WRITE: /73 TEXT-003, 93 DOCNAME. SKIP. PERFORM WRITE_COLUMN_NAME. ENDCASE. DOCUMENTANDO: LISTA4: ES UNA TABLA QUE CONTIEN UNA ETSRUCTURA LLAMADA LIST2 TAL COMO SE MUESTRA EN EL CODIGO. DATA: BEGIN OF LIST4 OCCURS 0. INCLUDE STRUCTURE LIST2. DATA: END OF LIST4. LOS CAMPOS QUE TIENE LA ESTARUCTURA LIST2 INCLUDIA EN LA TABLA LISTA4 SON: DATA: BEGIN OF LIST2 OCCURS 0, DOCTYP(3) TYPE C, BELNR LIKE BKPF-BELNR, GJAHR LIKE BKPF-GJAHR, BLART LIKE BKPF-BLART, BLDAT LIKE BKPF-BLDAT, BUDAT LIKE BKPF-BUDAT, XBLNR LIKE BKPF-XBLNR, BKTXT LIKE BKPF-BKTXT, SHKZG LIKE BSEG-SHKZG, HWBAS LIKE BSEG-HWBAS, RET_OTROS LIKE BSEG-DMBTR, IGV LIKE BSEG-DMBTR, TOTAL LIKE BSEG-DMBTR, DIF LIKE BSEG-DMBTR, HKONT LIKE BSEG-HKONT, LIFNR LIKE BSEG-LIFNR, MWSKZ LIKE BSEG-MWSKZ, STCD1 LIKE LFA1-STCD1, NAME1 LIKE LFA1-NAME1, CIF LIKE BSEG-DMBTR, AD_VAL LIKE BSEG-DMBTR, REINTEGRO LIKE BSEG-DMBTR,
  • 9. TCODE LIKE BKPF-TCODE, STBLG LIKE BKPF-STBLG, STJAH LIKE BKPF-STJAH, END OF LIST2. EN EL REPORTE DE COMRPAS QUE SE MUESTRA TENEMOS LOS SIGUIENTES CAMPOS COMO SON POR ORDEN DE IZQUIERDA A DERECHA LOS SGTES: • LIST5-STCD1: HEREDA DE LFA1-STCD1 STCD1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO STCD1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y STCD1 ALMACENA EL NUMERO DE IDENTIFICACION FISCAL. • LIST5-NAME1: HEREDA DE LFA1-NAME1 NAME1 ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA LFA1 Y DEL CAMPO NAME1, LFA1 ES LA TABLA MAESTRA DE PROVEEDORES Y NAME1 ALMACENA EL NOMBRE DEL PROVEEDOR. • LIST5-BLDAT: HEREDA DE BKPF-BLDAT BLDAT ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BKPF Y DEL CAMPO BLDAT, BKPF ES LA TABLA DE CABECERA DEL DOCUMENTO DE CONTABLIDAD Y BLDAT ES EL CAMPO QUE ALMACENA LA FECHA DEL DOCUMENTO. • LIST5-HWBAS: HEREDA DE LIKE BSEG-HWBAS HWBAS ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO HWBAS, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y HWBAS ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-DIF: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-RET_OTROS: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-IGV: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-TOTAL: HEREDA DE LIKE BSEG-DMBTR DMBTR ES UN CAMPO QUE ES EXTRAIDO DE LA TABLA BSEG Y DEL CAMPO DMBTR, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y
  • 10. DMBTR ES EL CAMPO QUE ALMACENA IMPORTE BASE DEL IMPUESTO EN MONEDA LOCAL. • LIST5-MWSKZ: HEREDA DE LIKE BSEG-MWSKZ MWSKZ ES UN CAMPO QUE ES EXTRAIDO DE LA TABAL BSEG Y DEL CAMPO MWSKZ, BSEG ES LA TABLA DE DETALLE DEL DOCUMENTO DE CONTABLIDAD Y DMBTR ES EL CAMPO QUE ALMACENA EL INDICADOR IVA.