<?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 ABAP Extractor in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918849#M58630</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was hoping someone could help me out.  I need to create an ABAP extractor that pulls data from twelve R3 tables and loads it into a single table for transfer to BW.  The data is Production Order data and it needs to be reported at the OPERATION level.  I have created a simple ABAP "report" that collects the information but I am not sure how to convert it to a extraction program.  I know that a select statement that does an "Inner Join" on these tables is likely necessary, and I understand how to join most of the tables in this statement, but I do not know how to join all of them (or if that would be the best way to do it).  I have included the ABAP report code below so you can see the combination of information I need.  Any help in formulating the code to properly join the tables and create an internal table would be GREATLY appreciated.  Thank you.  Dave Burrows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZBW_PO_DRILL_DOWN NO STANDARD PAGE HEADING LINE-SIZE 650.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;        AFKO,         "Order header data PP orders&lt;/P&gt;&lt;P&gt;        AFVC,         "Operation within an order&lt;/P&gt;&lt;P&gt;        JEST,         "Object status&lt;/P&gt;&lt;P&gt;        TJ02T,        "System status texts&lt;/P&gt;&lt;P&gt;        AFPO,         "Order item&lt;/P&gt;&lt;P&gt;        AFRU,         "Order completion confirmations&lt;/P&gt;&lt;P&gt;        CRHD,         "Work Center Header&lt;/P&gt;&lt;P&gt;        AUAK,         "Document Header for Settlement&lt;/P&gt;&lt;P&gt;        MAKT,         "Material Descriptions&lt;/P&gt;&lt;P&gt;        MARC,         "Plant data for material&lt;/P&gt;&lt;P&gt;        T024D,        "MRP Controllers&lt;/P&gt;&lt;P&gt;        AUFK.         "Order Master Data&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;SELECTION-SCREEN BEGIN OF BLOCK b00 WITH FRAME TITLE text-b00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b01.&lt;/P&gt;&lt;P&gt;PARAMETERS: mrpcntlr     LIKE MARC-DISPO OBLIGATORY DEFAULT '001'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: W_STATUS(15),&lt;/P&gt;&lt;P&gt;      OP_STATUS(15),&lt;/P&gt;&lt;P&gt;      JOB_STATUS(15),&lt;/P&gt;&lt;P&gt;      W_OBJNR(14),&lt;/P&gt;&lt;P&gt;      W_PRODQTY LIKE AFPO-WEMNG,&lt;/P&gt;&lt;P&gt;      W_REMAINING_QTY,&lt;/P&gt;&lt;P&gt;      W_CALC_PROD_TM LIKE MARC-DZEIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-GROUPS: HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM AFKO WHERE&lt;/P&gt;&lt;P&gt;     DISPO = MRPCNTLR&lt;/P&gt;&lt;P&gt;     ORDER BY AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'OR' AFKO-AUFNR INTO W_OBJNR.&lt;/P&gt;&lt;P&gt;  W_OBJNR = AFKO-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM T024D WHERE DISPO = AFKO-DISPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUFK WHERE AUFNR = AFKO-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUAK WHERE OBJNR = W_OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AFPO WHERE AUFNR = AFKO-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF AFPO-PSMNG &amp;gt;= AFPO-WEMNG.&lt;/P&gt;&lt;P&gt;       W_REMAINING_QTY = AFPO-PSMNG - AFPO-WEMNG.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;       W_REMAINING_QTY = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM MARC&lt;/P&gt;&lt;P&gt;   WHERE MATNR = AFPO-MATNR&lt;/P&gt;&lt;P&gt;         AND WERKS = AFPO-DWERK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF MARC-DZEIT &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;       W_CALC_PROD_TM = MARC-RUEZT + MARC-TRANZ + MARC-BEARZ.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;       W_CALC_PROD_TM = MARC-DZEIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM MAKT WHERE MATNR = AFPO-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM AFVC WHERE AUFPL = AFKO-AUFPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM JEST WHERE&lt;/P&gt;&lt;P&gt;           OBJNR = AFVC-OBJNR AND&lt;/P&gt;&lt;P&gt;           INACT = SPACE.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM TJ02T WHERE ISTAT = JEST-STAT&lt;/P&gt;&lt;P&gt;         AND SPRAS = 'E'.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_PRODQTY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM AFRU WHERE RUECK = AFVC-RUECK AND&lt;/P&gt;&lt;P&gt;         STOKZ NE 'X' AND&lt;/P&gt;&lt;P&gt;         STZHL EQ '0'.&lt;/P&gt;&lt;P&gt;       W_PRODQTY = W_PRODQTY + AFRU-LMNGA.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM CRHD WHERE OBJID = AFVC-ARBID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: /002     AFPO-DWERK,          "Plant&lt;/P&gt;&lt;P&gt;              008     AFPO-PROJN,          "Program&lt;/P&gt;&lt;P&gt;              028     AFPO-DAUAT,          "Order Type&lt;/P&gt;&lt;P&gt;              038     AFKO-DISPO,          "MRP Controller&lt;/P&gt;&lt;P&gt;              050     AFKO-AUFNR,          "PO No.&lt;/P&gt;&lt;P&gt;              060     AFPO-MATNR,          "Material No.&lt;/P&gt;&lt;P&gt;              080     MAKT-MAKTX,          "Material Desc.&lt;/P&gt;&lt;P&gt;              125     AFKO-GSTRP,          "Order Start Date&lt;/P&gt;&lt;P&gt;              137     AFKO-GLTRP,          "Order End Date&lt;/P&gt;&lt;P&gt;              150     JOB_STATUS,          "Order Status Code&lt;/P&gt;&lt;P&gt;              166     CRHD-ARBPL,          "Work Center&lt;/P&gt;&lt;P&gt;              175     AFVC-VORNR,          "Operation&lt;/P&gt;&lt;P&gt;              183(10) W_STATUS,            "Work Status (not used)&lt;/P&gt;&lt;P&gt;              195(12) W_PRODQTY,           "Confirm Qty&lt;/P&gt;&lt;P&gt;              208(12) AFKO-GAMNG,          "Order Qty&lt;/P&gt;&lt;P&gt;              222(12) AFPO-WEMNG,          "Received Qty&lt;/P&gt;&lt;P&gt;              237     JEST-STAT,           "Order Status&lt;/P&gt;&lt;P&gt;              251     TJ02T-TXT04,         "Order Status Code Text&lt;/P&gt;&lt;P&gt;              259     MARC-DZEIT,          "Production Time&lt;/P&gt;&lt;P&gt;              269     MARC-RUEZT,          "Setup Time&lt;/P&gt;&lt;P&gt;              279     MARC-TRANZ,          "Interoperation Time&lt;/P&gt;&lt;P&gt;              289     MARC-BEARZ,          "Processing Time&lt;/P&gt;&lt;P&gt;              299     W_CALC_PROD_TM,      "Calculated Production Time&lt;/P&gt;&lt;P&gt;              319     AFRU-ISDD,           "Execution Date&lt;/P&gt;&lt;P&gt;              335     AFRU-BUDAT,          "Confirmation Date&lt;/P&gt;&lt;P&gt;              350     W_REMAINING_QTY,     "Remaining Qty&lt;/P&gt;&lt;P&gt;              358     AFKO-FTRMS,          "Release Date&lt;/P&gt;&lt;P&gt;              370     AFKO-GSTRI,          "Actual Start Date&lt;/P&gt;&lt;P&gt;              383     AFKO-GETRI,          "Confirmed Order Finish Date&lt;/P&gt;&lt;P&gt;              395     AFKO-GLTRI,          "Actual Finish Date&lt;/P&gt;&lt;P&gt;              410     MARC-BESKZ,          "Procurement Type&lt;/P&gt;&lt;P&gt;              420     T024D-DSNAM,         "Controller Name&lt;/P&gt;&lt;P&gt;              440     AUFK-AEDAT,          "Change Date&lt;/P&gt;&lt;P&gt;              452     AFKO-FTRMI,          "Actual Release Date&lt;/P&gt;&lt;P&gt;              470     MARC-BASMG,          "Base Qty&lt;/P&gt;&lt;P&gt;              490     AFVC-PLNKN,          "Total number of operations&lt;/P&gt;&lt;P&gt;              500     AFRU-AUFPL,          "Routing No.&lt;/P&gt;&lt;P&gt;              512     AFVC-RUECK,          "Confirmation No.&lt;/P&gt;&lt;P&gt;              525     AFRU-RUECK,          "Confirmation No.&lt;/P&gt;&lt;P&gt;              537     AFRU-AUERU,          "Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;              540     AFPO-PSMNG,          "Order Qty&lt;/P&gt;&lt;P&gt;              560     AFVC-OBJNR.          "Object No.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;  WRITE:  /002 'Plant',&lt;/P&gt;&lt;P&gt;           008 'Program',&lt;/P&gt;&lt;P&gt;           028 'Order_Typ',&lt;/P&gt;&lt;P&gt;           038 'MRP_Cntlr',&lt;/P&gt;&lt;P&gt;           050 ' PO_No',&lt;/P&gt;&lt;P&gt;           060 'Material',&lt;/P&gt;&lt;P&gt;           080 'Material_Desc',&lt;/P&gt;&lt;P&gt;           125 'Order_Start',&lt;/P&gt;&lt;P&gt;           137 'Order_End',&lt;/P&gt;&lt;P&gt;           150 'Status',&lt;/P&gt;&lt;P&gt;           166 'Work_Ctr',&lt;/P&gt;&lt;P&gt;           175 'Op',&lt;/P&gt;&lt;P&gt;           182 'Op_Status',&lt;/P&gt;&lt;P&gt;           199 ' Confirm_Qty',&lt;/P&gt;&lt;P&gt;           211 '   Order_Qty',&lt;/P&gt;&lt;P&gt;           227 'Recd_Qty',&lt;/P&gt;&lt;P&gt;           237 'Order_Stat',&lt;/P&gt;&lt;P&gt;           249 'Stat_Cde',&lt;/P&gt;&lt;P&gt;           259 'Prod_time',&lt;/P&gt;&lt;P&gt;           269 'Setup_tm',&lt;/P&gt;&lt;P&gt;           279 'Intop_tm',&lt;/P&gt;&lt;P&gt;           289 'Proc_tm',&lt;/P&gt;&lt;P&gt;           299 'Calc_tm',&lt;/P&gt;&lt;P&gt;           319 'Exe_Dt',&lt;/P&gt;&lt;P&gt;           335 'Cnf_Dt',&lt;/P&gt;&lt;P&gt;           350 'Rem_Qty',&lt;/P&gt;&lt;P&gt;           358 'Rel_Dt',&lt;/P&gt;&lt;P&gt;           370 'Act_Strt_Dt',&lt;/P&gt;&lt;P&gt;           383 'Cnf_Fin_Dt',&lt;/P&gt;&lt;P&gt;           395 'Act_Fin_Dt',&lt;/P&gt;&lt;P&gt;           407 'Proc_typ',&lt;/P&gt;&lt;P&gt;           420 'Cntlr_Name',&lt;/P&gt;&lt;P&gt;           440 'Chng_Dt',&lt;/P&gt;&lt;P&gt;           452 'Act_Rel_Dt',&lt;/P&gt;&lt;P&gt;           480 'Base_Qty',&lt;/P&gt;&lt;P&gt;           490 'No_Ops',&lt;/P&gt;&lt;P&gt;           500 'Routing_No',&lt;/P&gt;&lt;P&gt;           512 'Cnf_No1',&lt;/P&gt;&lt;P&gt;           525 'Cnf_No2',&lt;/P&gt;&lt;P&gt;           537 'Cnf_Ind',&lt;/P&gt;&lt;P&gt;           547 'Order_Qty2',&lt;/P&gt;&lt;P&gt;           564 'Object_No'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: /001     ' AFPO',           "Plant&lt;/P&gt;&lt;P&gt;              008     ' AFPO',           "Program&lt;/P&gt;&lt;P&gt;              028     ' AFPO',           "Order Type&lt;/P&gt;&lt;P&gt;              038     ' AFKO',           "MRP Controller&lt;/P&gt;&lt;P&gt;              050     ' AFKO',           "PO No.&lt;/P&gt;&lt;P&gt;              060     ' AFPO',           "Material No.&lt;/P&gt;&lt;P&gt;              080     ' MAKT',           "Material Desc.&lt;/P&gt;&lt;P&gt;              125     ' AFKO',           "Order Start Date&lt;/P&gt;&lt;P&gt;              137     ' AFKO',           "Order End Date&lt;/P&gt;&lt;P&gt;              150     '   ',            "Order Status Code&lt;/P&gt;&lt;P&gt;              166     ' CRHD',           "Work Center&lt;/P&gt;&lt;P&gt;              175     ' AFVC',           "Operation No.&lt;/P&gt;&lt;P&gt;              182(10) '    ',            "Work Status (not used)&lt;/P&gt;&lt;P&gt;              201(12) '    ',            "Confirm Qty&lt;/P&gt;&lt;P&gt;              214(12) ' AFKO',           "Order Qty&lt;/P&gt;&lt;P&gt;              226(12) ' AFPO',           "Received Qty&lt;/P&gt;&lt;P&gt;              237     ' JEST',           "Order Status&lt;/P&gt;&lt;P&gt;              251     ' TJ02T',          "Order Status Code Text&lt;/P&gt;&lt;P&gt;              259     ' MARC',           "Production Time&lt;/P&gt;&lt;P&gt;              269     ' MARC',           "Setup Time&lt;/P&gt;&lt;P&gt;              279     ' MARC',           "Interoperation Time&lt;/P&gt;&lt;P&gt;              289     ' MARC',           "Processing Time&lt;/P&gt;&lt;P&gt;              299     '    ',            "Calculated Production Time&lt;/P&gt;&lt;P&gt;              319     ' AFRU',           "Execution Date&lt;/P&gt;&lt;P&gt;              335     ' AFRU',           "Confirmation Date&lt;/P&gt;&lt;P&gt;              350     '    ',            "Remaining Qty&lt;/P&gt;&lt;P&gt;              358     ' AFKO',           "Release Date&lt;/P&gt;&lt;P&gt;              370     ' AFKO',           "Actual Start Date&lt;/P&gt;&lt;P&gt;              383     ' AFKO',           "Confirmed Order Finish Date&lt;/P&gt;&lt;P&gt;              395     ' AFKO',           "Actual Finish Date&lt;/P&gt;&lt;P&gt;              408     ' MARC',           "Procurement Type&lt;/P&gt;&lt;P&gt;              420     ' T024D',           "Controller Name&lt;/P&gt;&lt;P&gt;              440     ' AUFK',           "Change Date&lt;/P&gt;&lt;P&gt;              452     ' AFKO',           "Actual Release Date&lt;/P&gt;&lt;P&gt;              480     ' MARC',           "Base Qty&lt;/P&gt;&lt;P&gt;              490     ' AFVC',           "Total number of operations&lt;/P&gt;&lt;P&gt;              500     ' AFRU',           "Routing No.&lt;/P&gt;&lt;P&gt;              512     ' AFVC',           "Confirmation No.&lt;/P&gt;&lt;P&gt;              525     ' AFRU',           "Confirmation No.&lt;/P&gt;&lt;P&gt;              537     ' AFRU',           "Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;              547     ' AFPO',           "Order Qty&lt;/P&gt;&lt;P&gt;              564     ' AFVC'.           "Object No.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: /001     '(DWERK)',           "Plant&lt;/P&gt;&lt;P&gt;              008     '(PROJN)',           "Program&lt;/P&gt;&lt;P&gt;              028     '(DAUAT)',           "Order Type&lt;/P&gt;&lt;P&gt;              038     '(DISPO)',           "MRP Controller&lt;/P&gt;&lt;P&gt;              050     '(AUFNR)',           "PO No.&lt;/P&gt;&lt;P&gt;              060     '(MATNR)',           "Material No.&lt;/P&gt;&lt;P&gt;              080     '(MAKTX)',           "Material Desc.&lt;/P&gt;&lt;P&gt;              125     '(GSTRP)',           "Order Start Date&lt;/P&gt;&lt;P&gt;              137     '(GLTRP)',           "Order End Date&lt;/P&gt;&lt;P&gt;              150     'VAR',               "Order Status Code&lt;/P&gt;&lt;P&gt;              166     '(ARBPL)',           "Work Center&lt;/P&gt;&lt;P&gt;              175     '(VORNR)',           "Operation No.&lt;/P&gt;&lt;P&gt;              182(10) 'VAR',               "Work Status (not used)&lt;/P&gt;&lt;P&gt;              201(12) 'VAR',               "Confirm Qty&lt;/P&gt;&lt;P&gt;              214(12) '(GAMNG)',           "Order Qty&lt;/P&gt;&lt;P&gt;              226(12) '(WEMNG)',           "Received Qty&lt;/P&gt;&lt;P&gt;              237     '(STAT)',            "Order Status&lt;/P&gt;&lt;P&gt;              251     '(TXT04)',           "Order Status Code Text&lt;/P&gt;&lt;P&gt;              259     '(DZEIT)',           "Production Time&lt;/P&gt;&lt;P&gt;              269     '(RUEZT)',           "Setup Time&lt;/P&gt;&lt;P&gt;              279     '(TRANZ)',           "Interoperation Time&lt;/P&gt;&lt;P&gt;              289     '(BEARZ)',           "Processing Time&lt;/P&gt;&lt;P&gt;              299     'VAR',               "Calculated Production Time&lt;/P&gt;&lt;P&gt;              319     '(ISDD)',            "Execution Date&lt;/P&gt;&lt;P&gt;              335     '(BUDAT)',           "Confirmation Date&lt;/P&gt;&lt;P&gt;              350     'VAR',               "Remaining Qty&lt;/P&gt;&lt;P&gt;              358     '(FTRMS)',           "Release Date&lt;/P&gt;&lt;P&gt;              370     '(GSTRI)',           "Actual Start Date&lt;/P&gt;&lt;P&gt;              383     '(GETRI)',           "Confirmed Order Finish Date&lt;/P&gt;&lt;P&gt;              395     '(GLTRI)',           "Actual Finish Date&lt;/P&gt;&lt;P&gt;              408     '(BESKZ)',           "Procurement Type&lt;/P&gt;&lt;P&gt;              420     '(DSNAM)',           "Controller Name&lt;/P&gt;&lt;P&gt;              440     '(AEDAT)',           "Change Date&lt;/P&gt;&lt;P&gt;              452     '(FTRMI)',           "Actual Release Date&lt;/P&gt;&lt;P&gt;              480     '(BASMG)',           "Base Qty&lt;/P&gt;&lt;P&gt;              490     '(PLNKN)',           "Total number of operations&lt;/P&gt;&lt;P&gt;              500     '(AUFPL)',           "Routing No.&lt;/P&gt;&lt;P&gt;              512     '(RUECK1)',          "Confirmation No.&lt;/P&gt;&lt;P&gt;              525     '(RUECK2)',          "Confirmation No.&lt;/P&gt;&lt;P&gt;              537     '(AUERU)',           "Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;              547     '(PSMNG)',           "Order Qty&lt;/P&gt;&lt;P&gt;              564     '(OBJNR)'.           "Object No.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Mar 2005 15:22:59 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-03-25T15:22:59Z</dc:date>
    <item>
      <title>ABAP Extractor</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918849#M58630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was hoping someone could help me out.  I need to create an ABAP extractor that pulls data from twelve R3 tables and loads it into a single table for transfer to BW.  The data is Production Order data and it needs to be reported at the OPERATION level.  I have created a simple ABAP "report" that collects the information but I am not sure how to convert it to a extraction program.  I know that a select statement that does an "Inner Join" on these tables is likely necessary, and I understand how to join most of the tables in this statement, but I do not know how to join all of them (or if that would be the best way to do it).  I have included the ABAP report code below so you can see the combination of information I need.  Any help in formulating the code to properly join the tables and create an internal table would be GREATLY appreciated.  Thank you.  Dave Burrows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZBW_PO_DRILL_DOWN NO STANDARD PAGE HEADING LINE-SIZE 650.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;        AFKO,         "Order header data PP orders&lt;/P&gt;&lt;P&gt;        AFVC,         "Operation within an order&lt;/P&gt;&lt;P&gt;        JEST,         "Object status&lt;/P&gt;&lt;P&gt;        TJ02T,        "System status texts&lt;/P&gt;&lt;P&gt;        AFPO,         "Order item&lt;/P&gt;&lt;P&gt;        AFRU,         "Order completion confirmations&lt;/P&gt;&lt;P&gt;        CRHD,         "Work Center Header&lt;/P&gt;&lt;P&gt;        AUAK,         "Document Header for Settlement&lt;/P&gt;&lt;P&gt;        MAKT,         "Material Descriptions&lt;/P&gt;&lt;P&gt;        MARC,         "Plant data for material&lt;/P&gt;&lt;P&gt;        T024D,        "MRP Controllers&lt;/P&gt;&lt;P&gt;        AUFK.         "Order Master Data&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;SELECTION-SCREEN BEGIN OF BLOCK b00 WITH FRAME TITLE text-b00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b01.&lt;/P&gt;&lt;P&gt;PARAMETERS: mrpcntlr     LIKE MARC-DISPO OBLIGATORY DEFAULT '001'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: W_STATUS(15),&lt;/P&gt;&lt;P&gt;      OP_STATUS(15),&lt;/P&gt;&lt;P&gt;      JOB_STATUS(15),&lt;/P&gt;&lt;P&gt;      W_OBJNR(14),&lt;/P&gt;&lt;P&gt;      W_PRODQTY LIKE AFPO-WEMNG,&lt;/P&gt;&lt;P&gt;      W_REMAINING_QTY,&lt;/P&gt;&lt;P&gt;      W_CALC_PROD_TM LIKE MARC-DZEIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-GROUPS: HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM AFKO WHERE&lt;/P&gt;&lt;P&gt;     DISPO = MRPCNTLR&lt;/P&gt;&lt;P&gt;     ORDER BY AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'OR' AFKO-AUFNR INTO W_OBJNR.&lt;/P&gt;&lt;P&gt;  W_OBJNR = AFKO-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM T024D WHERE DISPO = AFKO-DISPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUFK WHERE AUFNR = AFKO-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AUAK WHERE OBJNR = W_OBJNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM AFPO WHERE AUFNR = AFKO-AUFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF AFPO-PSMNG &amp;gt;= AFPO-WEMNG.&lt;/P&gt;&lt;P&gt;       W_REMAINING_QTY = AFPO-PSMNG - AFPO-WEMNG.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;       W_REMAINING_QTY = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM MARC&lt;/P&gt;&lt;P&gt;   WHERE MATNR = AFPO-MATNR&lt;/P&gt;&lt;P&gt;         AND WERKS = AFPO-DWERK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF MARC-DZEIT &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;       W_CALC_PROD_TM = MARC-RUEZT + MARC-TRANZ + MARC-BEARZ.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;       W_CALC_PROD_TM = MARC-DZEIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM MAKT WHERE MATNR = AFPO-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM AFVC WHERE AUFPL = AFKO-AUFPL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM JEST WHERE&lt;/P&gt;&lt;P&gt;           OBJNR = AFVC-OBJNR AND&lt;/P&gt;&lt;P&gt;           INACT = SPACE.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM TJ02T WHERE ISTAT = JEST-STAT&lt;/P&gt;&lt;P&gt;         AND SPRAS = 'E'.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR W_PRODQTY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM AFRU WHERE RUECK = AFVC-RUECK AND&lt;/P&gt;&lt;P&gt;         STOKZ NE 'X' AND&lt;/P&gt;&lt;P&gt;         STZHL EQ '0'.&lt;/P&gt;&lt;P&gt;       W_PRODQTY = W_PRODQTY + AFRU-LMNGA.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM CRHD WHERE OBJID = AFVC-ARBID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: /002     AFPO-DWERK,          "Plant&lt;/P&gt;&lt;P&gt;              008     AFPO-PROJN,          "Program&lt;/P&gt;&lt;P&gt;              028     AFPO-DAUAT,          "Order Type&lt;/P&gt;&lt;P&gt;              038     AFKO-DISPO,          "MRP Controller&lt;/P&gt;&lt;P&gt;              050     AFKO-AUFNR,          "PO No.&lt;/P&gt;&lt;P&gt;              060     AFPO-MATNR,          "Material No.&lt;/P&gt;&lt;P&gt;              080     MAKT-MAKTX,          "Material Desc.&lt;/P&gt;&lt;P&gt;              125     AFKO-GSTRP,          "Order Start Date&lt;/P&gt;&lt;P&gt;              137     AFKO-GLTRP,          "Order End Date&lt;/P&gt;&lt;P&gt;              150     JOB_STATUS,          "Order Status Code&lt;/P&gt;&lt;P&gt;              166     CRHD-ARBPL,          "Work Center&lt;/P&gt;&lt;P&gt;              175     AFVC-VORNR,          "Operation&lt;/P&gt;&lt;P&gt;              183(10) W_STATUS,            "Work Status (not used)&lt;/P&gt;&lt;P&gt;              195(12) W_PRODQTY,           "Confirm Qty&lt;/P&gt;&lt;P&gt;              208(12) AFKO-GAMNG,          "Order Qty&lt;/P&gt;&lt;P&gt;              222(12) AFPO-WEMNG,          "Received Qty&lt;/P&gt;&lt;P&gt;              237     JEST-STAT,           "Order Status&lt;/P&gt;&lt;P&gt;              251     TJ02T-TXT04,         "Order Status Code Text&lt;/P&gt;&lt;P&gt;              259     MARC-DZEIT,          "Production Time&lt;/P&gt;&lt;P&gt;              269     MARC-RUEZT,          "Setup Time&lt;/P&gt;&lt;P&gt;              279     MARC-TRANZ,          "Interoperation Time&lt;/P&gt;&lt;P&gt;              289     MARC-BEARZ,          "Processing Time&lt;/P&gt;&lt;P&gt;              299     W_CALC_PROD_TM,      "Calculated Production Time&lt;/P&gt;&lt;P&gt;              319     AFRU-ISDD,           "Execution Date&lt;/P&gt;&lt;P&gt;              335     AFRU-BUDAT,          "Confirmation Date&lt;/P&gt;&lt;P&gt;              350     W_REMAINING_QTY,     "Remaining Qty&lt;/P&gt;&lt;P&gt;              358     AFKO-FTRMS,          "Release Date&lt;/P&gt;&lt;P&gt;              370     AFKO-GSTRI,          "Actual Start Date&lt;/P&gt;&lt;P&gt;              383     AFKO-GETRI,          "Confirmed Order Finish Date&lt;/P&gt;&lt;P&gt;              395     AFKO-GLTRI,          "Actual Finish Date&lt;/P&gt;&lt;P&gt;              410     MARC-BESKZ,          "Procurement Type&lt;/P&gt;&lt;P&gt;              420     T024D-DSNAM,         "Controller Name&lt;/P&gt;&lt;P&gt;              440     AUFK-AEDAT,          "Change Date&lt;/P&gt;&lt;P&gt;              452     AFKO-FTRMI,          "Actual Release Date&lt;/P&gt;&lt;P&gt;              470     MARC-BASMG,          "Base Qty&lt;/P&gt;&lt;P&gt;              490     AFVC-PLNKN,          "Total number of operations&lt;/P&gt;&lt;P&gt;              500     AFRU-AUFPL,          "Routing No.&lt;/P&gt;&lt;P&gt;              512     AFVC-RUECK,          "Confirmation No.&lt;/P&gt;&lt;P&gt;              525     AFRU-RUECK,          "Confirmation No.&lt;/P&gt;&lt;P&gt;              537     AFRU-AUERU,          "Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;              540     AFPO-PSMNG,          "Order Qty&lt;/P&gt;&lt;P&gt;              560     AFVC-OBJNR.          "Object No.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;  WRITE:  /002 'Plant',&lt;/P&gt;&lt;P&gt;           008 'Program',&lt;/P&gt;&lt;P&gt;           028 'Order_Typ',&lt;/P&gt;&lt;P&gt;           038 'MRP_Cntlr',&lt;/P&gt;&lt;P&gt;           050 ' PO_No',&lt;/P&gt;&lt;P&gt;           060 'Material',&lt;/P&gt;&lt;P&gt;           080 'Material_Desc',&lt;/P&gt;&lt;P&gt;           125 'Order_Start',&lt;/P&gt;&lt;P&gt;           137 'Order_End',&lt;/P&gt;&lt;P&gt;           150 'Status',&lt;/P&gt;&lt;P&gt;           166 'Work_Ctr',&lt;/P&gt;&lt;P&gt;           175 'Op',&lt;/P&gt;&lt;P&gt;           182 'Op_Status',&lt;/P&gt;&lt;P&gt;           199 ' Confirm_Qty',&lt;/P&gt;&lt;P&gt;           211 '   Order_Qty',&lt;/P&gt;&lt;P&gt;           227 'Recd_Qty',&lt;/P&gt;&lt;P&gt;           237 'Order_Stat',&lt;/P&gt;&lt;P&gt;           249 'Stat_Cde',&lt;/P&gt;&lt;P&gt;           259 'Prod_time',&lt;/P&gt;&lt;P&gt;           269 'Setup_tm',&lt;/P&gt;&lt;P&gt;           279 'Intop_tm',&lt;/P&gt;&lt;P&gt;           289 'Proc_tm',&lt;/P&gt;&lt;P&gt;           299 'Calc_tm',&lt;/P&gt;&lt;P&gt;           319 'Exe_Dt',&lt;/P&gt;&lt;P&gt;           335 'Cnf_Dt',&lt;/P&gt;&lt;P&gt;           350 'Rem_Qty',&lt;/P&gt;&lt;P&gt;           358 'Rel_Dt',&lt;/P&gt;&lt;P&gt;           370 'Act_Strt_Dt',&lt;/P&gt;&lt;P&gt;           383 'Cnf_Fin_Dt',&lt;/P&gt;&lt;P&gt;           395 'Act_Fin_Dt',&lt;/P&gt;&lt;P&gt;           407 'Proc_typ',&lt;/P&gt;&lt;P&gt;           420 'Cntlr_Name',&lt;/P&gt;&lt;P&gt;           440 'Chng_Dt',&lt;/P&gt;&lt;P&gt;           452 'Act_Rel_Dt',&lt;/P&gt;&lt;P&gt;           480 'Base_Qty',&lt;/P&gt;&lt;P&gt;           490 'No_Ops',&lt;/P&gt;&lt;P&gt;           500 'Routing_No',&lt;/P&gt;&lt;P&gt;           512 'Cnf_No1',&lt;/P&gt;&lt;P&gt;           525 'Cnf_No2',&lt;/P&gt;&lt;P&gt;           537 'Cnf_Ind',&lt;/P&gt;&lt;P&gt;           547 'Order_Qty2',&lt;/P&gt;&lt;P&gt;           564 'Object_No'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: /001     ' AFPO',           "Plant&lt;/P&gt;&lt;P&gt;              008     ' AFPO',           "Program&lt;/P&gt;&lt;P&gt;              028     ' AFPO',           "Order Type&lt;/P&gt;&lt;P&gt;              038     ' AFKO',           "MRP Controller&lt;/P&gt;&lt;P&gt;              050     ' AFKO',           "PO No.&lt;/P&gt;&lt;P&gt;              060     ' AFPO',           "Material No.&lt;/P&gt;&lt;P&gt;              080     ' MAKT',           "Material Desc.&lt;/P&gt;&lt;P&gt;              125     ' AFKO',           "Order Start Date&lt;/P&gt;&lt;P&gt;              137     ' AFKO',           "Order End Date&lt;/P&gt;&lt;P&gt;              150     '   ',            "Order Status Code&lt;/P&gt;&lt;P&gt;              166     ' CRHD',           "Work Center&lt;/P&gt;&lt;P&gt;              175     ' AFVC',           "Operation No.&lt;/P&gt;&lt;P&gt;              182(10) '    ',            "Work Status (not used)&lt;/P&gt;&lt;P&gt;              201(12) '    ',            "Confirm Qty&lt;/P&gt;&lt;P&gt;              214(12) ' AFKO',           "Order Qty&lt;/P&gt;&lt;P&gt;              226(12) ' AFPO',           "Received Qty&lt;/P&gt;&lt;P&gt;              237     ' JEST',           "Order Status&lt;/P&gt;&lt;P&gt;              251     ' TJ02T',          "Order Status Code Text&lt;/P&gt;&lt;P&gt;              259     ' MARC',           "Production Time&lt;/P&gt;&lt;P&gt;              269     ' MARC',           "Setup Time&lt;/P&gt;&lt;P&gt;              279     ' MARC',           "Interoperation Time&lt;/P&gt;&lt;P&gt;              289     ' MARC',           "Processing Time&lt;/P&gt;&lt;P&gt;              299     '    ',            "Calculated Production Time&lt;/P&gt;&lt;P&gt;              319     ' AFRU',           "Execution Date&lt;/P&gt;&lt;P&gt;              335     ' AFRU',           "Confirmation Date&lt;/P&gt;&lt;P&gt;              350     '    ',            "Remaining Qty&lt;/P&gt;&lt;P&gt;              358     ' AFKO',           "Release Date&lt;/P&gt;&lt;P&gt;              370     ' AFKO',           "Actual Start Date&lt;/P&gt;&lt;P&gt;              383     ' AFKO',           "Confirmed Order Finish Date&lt;/P&gt;&lt;P&gt;              395     ' AFKO',           "Actual Finish Date&lt;/P&gt;&lt;P&gt;              408     ' MARC',           "Procurement Type&lt;/P&gt;&lt;P&gt;              420     ' T024D',           "Controller Name&lt;/P&gt;&lt;P&gt;              440     ' AUFK',           "Change Date&lt;/P&gt;&lt;P&gt;              452     ' AFKO',           "Actual Release Date&lt;/P&gt;&lt;P&gt;              480     ' MARC',           "Base Qty&lt;/P&gt;&lt;P&gt;              490     ' AFVC',           "Total number of operations&lt;/P&gt;&lt;P&gt;              500     ' AFRU',           "Routing No.&lt;/P&gt;&lt;P&gt;              512     ' AFVC',           "Confirmation No.&lt;/P&gt;&lt;P&gt;              525     ' AFRU',           "Confirmation No.&lt;/P&gt;&lt;P&gt;              537     ' AFRU',           "Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;              547     ' AFPO',           "Order Qty&lt;/P&gt;&lt;P&gt;              564     ' AFVC'.           "Object No.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: /001     '(DWERK)',           "Plant&lt;/P&gt;&lt;P&gt;              008     '(PROJN)',           "Program&lt;/P&gt;&lt;P&gt;              028     '(DAUAT)',           "Order Type&lt;/P&gt;&lt;P&gt;              038     '(DISPO)',           "MRP Controller&lt;/P&gt;&lt;P&gt;              050     '(AUFNR)',           "PO No.&lt;/P&gt;&lt;P&gt;              060     '(MATNR)',           "Material No.&lt;/P&gt;&lt;P&gt;              080     '(MAKTX)',           "Material Desc.&lt;/P&gt;&lt;P&gt;              125     '(GSTRP)',           "Order Start Date&lt;/P&gt;&lt;P&gt;              137     '(GLTRP)',           "Order End Date&lt;/P&gt;&lt;P&gt;              150     'VAR',               "Order Status Code&lt;/P&gt;&lt;P&gt;              166     '(ARBPL)',           "Work Center&lt;/P&gt;&lt;P&gt;              175     '(VORNR)',           "Operation No.&lt;/P&gt;&lt;P&gt;              182(10) 'VAR',               "Work Status (not used)&lt;/P&gt;&lt;P&gt;              201(12) 'VAR',               "Confirm Qty&lt;/P&gt;&lt;P&gt;              214(12) '(GAMNG)',           "Order Qty&lt;/P&gt;&lt;P&gt;              226(12) '(WEMNG)',           "Received Qty&lt;/P&gt;&lt;P&gt;              237     '(STAT)',            "Order Status&lt;/P&gt;&lt;P&gt;              251     '(TXT04)',           "Order Status Code Text&lt;/P&gt;&lt;P&gt;              259     '(DZEIT)',           "Production Time&lt;/P&gt;&lt;P&gt;              269     '(RUEZT)',           "Setup Time&lt;/P&gt;&lt;P&gt;              279     '(TRANZ)',           "Interoperation Time&lt;/P&gt;&lt;P&gt;              289     '(BEARZ)',           "Processing Time&lt;/P&gt;&lt;P&gt;              299     'VAR',               "Calculated Production Time&lt;/P&gt;&lt;P&gt;              319     '(ISDD)',            "Execution Date&lt;/P&gt;&lt;P&gt;              335     '(BUDAT)',           "Confirmation Date&lt;/P&gt;&lt;P&gt;              350     'VAR',               "Remaining Qty&lt;/P&gt;&lt;P&gt;              358     '(FTRMS)',           "Release Date&lt;/P&gt;&lt;P&gt;              370     '(GSTRI)',           "Actual Start Date&lt;/P&gt;&lt;P&gt;              383     '(GETRI)',           "Confirmed Order Finish Date&lt;/P&gt;&lt;P&gt;              395     '(GLTRI)',           "Actual Finish Date&lt;/P&gt;&lt;P&gt;              408     '(BESKZ)',           "Procurement Type&lt;/P&gt;&lt;P&gt;              420     '(DSNAM)',           "Controller Name&lt;/P&gt;&lt;P&gt;              440     '(AEDAT)',           "Change Date&lt;/P&gt;&lt;P&gt;              452     '(FTRMI)',           "Actual Release Date&lt;/P&gt;&lt;P&gt;              480     '(BASMG)',           "Base Qty&lt;/P&gt;&lt;P&gt;              490     '(PLNKN)',           "Total number of operations&lt;/P&gt;&lt;P&gt;              500     '(AUFPL)',           "Routing No.&lt;/P&gt;&lt;P&gt;              512     '(RUECK1)',          "Confirmation No.&lt;/P&gt;&lt;P&gt;              525     '(RUECK2)',          "Confirmation No.&lt;/P&gt;&lt;P&gt;              537     '(AUERU)',           "Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;              547     '(PSMNG)',           "Order Qty&lt;/P&gt;&lt;P&gt;              564     '(OBJNR)'.           "Object No.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Mar 2005 15:22:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918849#M58630</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-03-25T15:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Extractor</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918850#M58631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi david,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i think you should have asked this question in the BW forums - good thing i frequent both. &lt;SPAN __jive_emoticon_name="wink"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;well, unless i understood you wrong, you need to collate data from different tables into just one, and extract from BW via this table. i'm assuming from your code, that you aren't exactly having a problem collating all this data together. it's just the extraction part your confused with.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;well, just join everything together into a database table - that's what we could use for extraction. you may want to put update time/date too if you want delta technology to work. afterwards you should use tcode RSO2 and extract the data via a table (which you define inside).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i'd also suggest that you try to see if any of the business content extractors can provide you the data without you having to stage it prior to loading. you can do this via tcode SBIW (under install BC datasources or something like that).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps! and don't forget to give points. &lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ryan.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Mar 2005 00:44:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918850#M58631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-03-28T00:44:02Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Extractor</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918851#M58632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ryan, Thank you for your response.  Actually my problem really is how to get the data together into a single table. The code I originally listed doesn't do any "proper" joins and isn't suitable as-is for a Function Module.  And as you said it would be good to add a date field to enable deltas.  Below is my stab at writing the code to combine the data into a single table.  I have commented out the lines that do not work. I am not sure how to combine this data in the same way as my original code but with proper joins.  Any help would be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZBW_PO_DETAIL line-size 400 line-count 65.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: afru, crhd, afvc, afpo, aufk, afko, mara, marc, zafru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF GT_PODETAIL,&lt;/P&gt;&lt;P&gt;BUDAT	LIKE	AFRU-BUDAT,  "Confirmation Date&lt;/P&gt;&lt;P&gt;ISDD	LIKE	AFRU-ISDD,	"Execution Date&lt;/P&gt;&lt;P&gt;AUFPL	LIKE	AFRU-AUFPL,	"Routing No.&lt;/P&gt;&lt;P&gt;RUECK2	LIKE	AFRU-RUECK,	"Confirmation No.&lt;/P&gt;&lt;P&gt;AUERU	LIKE	AFRU-AUERU,	"Final Confirmation Indicator&lt;/P&gt;&lt;P&gt;ARBPL	LIKE	CRHD-ARBPL,	"Work Center&lt;/P&gt;&lt;P&gt;PLNKN	LIKE	AFVC-PLNKN,	"Total number of operations&lt;/P&gt;&lt;P&gt;RUECK1	LIKE	AFVC-RUECK,	"Confirmation No.&lt;/P&gt;&lt;P&gt;OBJNR	LIKE	AFVC-OBJNR,	"Object No.&lt;/P&gt;&lt;P&gt;VORNR	LIKE	AFVC-VORNR,	"Operation&lt;/P&gt;&lt;P&gt;AUFNR1	LIKE	AFPO-AUFNR,	"order #&lt;/P&gt;&lt;P&gt;POSNR	LIKE	AFPO-POSNR,	"order item number&lt;/P&gt;&lt;P&gt;DAUAT	LIKE	AFPO-DAUAT,	"order type&lt;/P&gt;&lt;P&gt;MATNR	LIKE	AFPO-MATNR,	"material number of order&lt;/P&gt;&lt;P&gt;DWERK	LIKE	AFPO-DWERK,	"plant&lt;/P&gt;&lt;P&gt;PSMNG	LIKE	AFPO-PSMNG,	"order item quantity&lt;/P&gt;&lt;P&gt;WEMNG	LIKE	AFPO-WEMNG,	"goods rec'd qty for order item&lt;/P&gt;&lt;P&gt;AMEIN	LIKE	AFPO-AMEIN,	"UOM for in-house production&lt;/P&gt;&lt;P&gt;PROJN	LIKE	AFPO-PROJN,	"Program&lt;/P&gt;&lt;P&gt;AEDAT	LIKE	AUFK-AEDAT,	"Change Date&lt;/P&gt;&lt;P&gt;FTRMS	LIKE	AFKO-FTRMS,	"scheduled release date&lt;/P&gt;&lt;P&gt;GLTRS	LIKE	AFKO-GLTRS,	"scheduled finish date&lt;/P&gt;&lt;P&gt;GSTRS	LIKE	AFKO-GSTRS,	"scheduled start date&lt;/P&gt;&lt;P&gt;GSTRI	LIKE	AFKO-GSTRI,	"actual start date&lt;/P&gt;&lt;P&gt;GETRI	LIKE	AFKO-GETRI,	"confirmed order finish date&lt;/P&gt;&lt;P&gt;GLTRI	LIKE	AFKO-GLTRI,	"actual finish date&lt;/P&gt;&lt;P&gt;FTRMI	LIKE	AFKO-FTRMI,	"actual release date&lt;/P&gt;&lt;P&gt;DISPO1	LIKE	AFKO-DISPO,	"MRP Controller&lt;/P&gt;&lt;P&gt;AUFNR2	LIKE	AFKO-AUFNR,	"PO No.&lt;/P&gt;&lt;P&gt;GSTRP	LIKE	AFKO-GSTRP,	"Order Start Date&lt;/P&gt;&lt;P&gt;GLTRP	LIKE	AFKO-GLTRP,	"Order End Date&lt;/P&gt;&lt;P&gt;GAMNG	LIKE	AFKO-GAMNG,	"Order Qty&lt;/P&gt;&lt;P&gt;MFRPN	LIKE	MARA-MFRPN,	"manufacturer part number&lt;/P&gt;&lt;P&gt;BESKZ	LIKE	MARC-BESKZ,	"procurement type&lt;/P&gt;&lt;P&gt;DISPO2	LIKE	MARC-DISPO,	"MRP controller&lt;/P&gt;&lt;P&gt;DZEIT	LIKE	MARC-DZEIT,	"Production Time&lt;/P&gt;&lt;P&gt;RUEZT	LIKE	MARC-RUEZT,	"Setup Time&lt;/P&gt;&lt;P&gt;TRANZ	LIKE	MARC-TRANZ,	"Interoperation Time&lt;/P&gt;&lt;P&gt;BEARZ	LIKE	MARC-BEARZ,	"Processing Time&lt;/P&gt;&lt;P&gt;BASMG	LIKE	MARC-BASMG,	"Base Qty&lt;/P&gt;&lt;P&gt;ZSERNR	LIKE	ZAFRU-SERNR, "Serial No.&lt;/P&gt;&lt;P&gt;END OF GT_PODETAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*used to build PO Detail internal table&lt;/P&gt;&lt;P&gt;DATA: GT_PODETL TYPE STANDARD TABLE OF GT_PODETAIL WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  GVD_INITDATE    LIKE  SY-DATUM.&lt;/P&gt;&lt;P&gt;DATA: GVD_DATE        LIKE  AUFK-AEDAT,   "change date&lt;/P&gt;&lt;P&gt;      GVT_TIME        LIKE  AUFK-AEZEIT.  "change time&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*clear GT_PODETL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select  A&lt;SUB&gt;BUDAT A&lt;/SUB&gt;ISDD A&lt;SUB&gt;AUFPL A&lt;/SUB&gt;RUECK A~AUERU&lt;/P&gt;&lt;P&gt;          B~ARBPL&lt;/P&gt;&lt;P&gt;          C&lt;SUB&gt;PLNKN C&lt;/SUB&gt;RUECK C&lt;SUB&gt;OBJNR C&lt;/SUB&gt;VORNR&lt;/P&gt;&lt;P&gt;          D&lt;SUB&gt;AUFNR D&lt;/SUB&gt;POSNR D&lt;SUB&gt;DAUAT D&lt;/SUB&gt;MATNR D&lt;SUB&gt;DWERK D&lt;/SUB&gt;PSMNG D~WEMNG&lt;/P&gt;&lt;P&gt;          D&lt;SUB&gt;AMEIN D&lt;/SUB&gt;PROJN&lt;/P&gt;&lt;P&gt;          E~AEDAT&lt;/P&gt;&lt;P&gt;          F&lt;SUB&gt;FTRMS F&lt;/SUB&gt;GLTRS F&lt;SUB&gt;GSTRS F&lt;/SUB&gt;GSTRI F&lt;SUB&gt;GETRI F&lt;/SUB&gt;GLTRI F~FTRMI&lt;/P&gt;&lt;P&gt;          F&lt;SUB&gt;DISPO F&lt;/SUB&gt;AUFNR F&lt;SUB&gt;GSTRP F&lt;/SUB&gt;GLTRP F~GAMNG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         G~MFRPN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         H&lt;SUB&gt;BESKZ H&lt;/SUB&gt;DISPO H&lt;SUB&gt;DZEIT H&lt;/SUB&gt;RUEZT H&lt;SUB&gt;TRANZ H&lt;/SUB&gt;BEARZ H~BASMG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I~MAKTX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          Z~SERNR&lt;/P&gt;&lt;P&gt;    into corresponding fields of table GT_PODETL&lt;/P&gt;&lt;P&gt;    from   AFRU AS A&lt;/P&gt;&lt;P&gt;                      inner join CRHD   AS B  on A&lt;SUB&gt;ARBID = B&lt;/SUB&gt;OBJID&lt;/P&gt;&lt;P&gt;                      inner join AFVC   AS C  on A&lt;SUB&gt;AUFPL = C&lt;/SUB&gt;AUFPL&lt;/P&gt;&lt;P&gt;                                             and A&lt;SUB&gt;APLZL = C&lt;/SUB&gt;APLZL&lt;/P&gt;&lt;P&gt;                      inner join AFPO   AS D  on A&lt;SUB&gt;AUFNR = D&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;P&gt;                      inner join AUFK   AS E  on A&lt;SUB&gt;AUFNR = E&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;P&gt;                      inner join AFKO   AS F  on A&lt;SUB&gt;AUFNR = F&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     inner join MARA   AS G  on A&lt;SUB&gt;MATNR = G&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     inner join MARC   AS H  on A&lt;SUB&gt;MATNR = H&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            and A&lt;SUB&gt;DWERK = H&lt;/SUB&gt;WERKS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     inner join MAKT   AS I  on A&lt;SUB&gt;MATNR = I&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                 left outer join ZAFRU  AS Z  on A&lt;SUB&gt;RUECK = Z&lt;/SUB&gt;RUECK&lt;/P&gt;&lt;P&gt;                                             and A&lt;SUB&gt;RMZHL = Z&lt;/SUB&gt;RMZHL&lt;/P&gt;&lt;P&gt;    where ( F~FTRMI ne GVD_INITDATE&lt;/P&gt;&lt;P&gt;      and   D~XLOEK ne 1&lt;/P&gt;&lt;P&gt;      and ( D&lt;SUB&gt;DAUAT eq 'ZP01' or D&lt;/SUB&gt;DAUAT EQ 'ZP02' or&lt;/P&gt;&lt;P&gt;            D&lt;SUB&gt;DAUAT eq 'ZCNR' or D&lt;/SUB&gt;DAUAT EQ 'ZCNV' ) )&lt;/P&gt;&lt;P&gt;      and ( E~AEDAT lt GVD_DATE&lt;/P&gt;&lt;P&gt;       or ( E&lt;SUB&gt;AEDAT eq GVD_DATE and E&lt;/SUB&gt;AEZEIT le GVT_TIME ) ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;refresh non-depot data in db table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  delete from ZBW_PO_DETAIL.&lt;/P&gt;&lt;P&gt;  insert ZBW_PO_DETAIL from table GT_PODETL.&lt;/P&gt;&lt;P&gt;  commit work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Mar 2005 15:14:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918851#M58632</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-03-28T15:14:19Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Extractor</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918852#M58633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;   I think you don't need to be so obsessive about inner joins. You have a nice report with you that shows your data as report output. All you need to do is - &lt;/P&gt;&lt;P&gt;   1. remove top-of-page section completely &lt;/P&gt;&lt;P&gt;   2. Instead of 'write' statements use 'move' to copy the content into internal table work area.&lt;/P&gt;&lt;P&gt;   3. Append data into internal table.&lt;/P&gt;&lt;P&gt;   4. Once all the data is collected in internal table, use this internal table to insert data into your 'single table'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Alternatively you can insert data into your 'single table' directly in step 3 and forget about step 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sanjeev&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Mar 2005 17:49:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918852#M58633</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-03-28T17:49:36Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Extractor</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918853#M58634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I believe I answered the question myself.  I have not run this to validate it but it at least compiles.  The problem was the joins.  I will give it a shot and see if it works.  Thank you all for your help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select  A&lt;SUB&gt;BUDAT A&lt;/SUB&gt;ISDD A&lt;SUB&gt;AUFPL A&lt;/SUB&gt;RUECK A~AUERU&lt;/P&gt;&lt;P&gt;          B~ARBPL&lt;/P&gt;&lt;P&gt;          C&lt;SUB&gt;PLNKN C&lt;/SUB&gt;RUECK C&lt;SUB&gt;OBJNR C&lt;/SUB&gt;VORNR&lt;/P&gt;&lt;P&gt;          D&lt;SUB&gt;AUFNR D&lt;/SUB&gt;POSNR D&lt;SUB&gt;DAUAT D&lt;/SUB&gt;MATNR D&lt;SUB&gt;DWERK D&lt;/SUB&gt;PSMNG D~WEMNG&lt;/P&gt;&lt;P&gt;          D&lt;SUB&gt;AMEIN D&lt;/SUB&gt;PROJN&lt;/P&gt;&lt;P&gt;          E~AEDAT&lt;/P&gt;&lt;P&gt;          F&lt;SUB&gt;FTRMS F&lt;/SUB&gt;GLTRS F&lt;SUB&gt;GSTRS F&lt;/SUB&gt;GSTRI F&lt;SUB&gt;GETRI F&lt;/SUB&gt;GLTRI F~FTRMI&lt;/P&gt;&lt;P&gt;          F&lt;SUB&gt;DISPO F&lt;/SUB&gt;AUFNR F&lt;SUB&gt;GSTRP F&lt;/SUB&gt;GLTRP F~GAMNG&lt;/P&gt;&lt;P&gt;          H~MFRPN&lt;/P&gt;&lt;P&gt;          I&lt;SUB&gt;BESKZ I&lt;/SUB&gt;DISPO I&lt;SUB&gt;DZEIT I&lt;/SUB&gt;RUEZT I&lt;SUB&gt;TRANZ I&lt;/SUB&gt;BEARZ I~BASMG&lt;/P&gt;&lt;P&gt;          J~MAKTX&lt;/P&gt;&lt;P&gt;          Z~SERNR&lt;/P&gt;&lt;P&gt;    into corresponding fields of table GT_PODETL&lt;/P&gt;&lt;P&gt;    from   AFRU AS A&lt;/P&gt;&lt;P&gt;                      inner join CRHD   AS B  on A&lt;SUB&gt;ARBID = B&lt;/SUB&gt;OBJID&lt;/P&gt;&lt;P&gt;                      inner join AFVC   AS C  on A&lt;SUB&gt;AUFPL = C&lt;/SUB&gt;AUFPL&lt;/P&gt;&lt;P&gt;                                             and A&lt;SUB&gt;APLZL = C&lt;/SUB&gt;APLZL&lt;/P&gt;&lt;P&gt;                      inner join AFPO   AS D  on A&lt;SUB&gt;AUFNR = D&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;P&gt;                      inner join AUFK   AS E  on A&lt;SUB&gt;AUFNR = E&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;P&gt;                      inner join AFKO   AS F  on A&lt;SUB&gt;AUFNR = F&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;P&gt;                      inner join AFPO   AS G  on A&lt;SUB&gt;AUFNR = G&lt;/SUB&gt;AUFNR&lt;/P&gt;&lt;P&gt;                      inner join MARA   AS H  on G&lt;SUB&gt;MATNR = H&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;                      inner join MARC   AS I  on H&lt;SUB&gt;MATNR = I&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;                      inner join MAKT   AS J  on I&lt;SUB&gt;MATNR = J&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;                 left outer join ZAFRU  AS Z  on A&lt;SUB&gt;RUECK = Z&lt;/SUB&gt;RUECK&lt;/P&gt;&lt;P&gt;                                             and A&lt;SUB&gt;RMZHL = Z&lt;/SUB&gt;RMZHL&lt;/P&gt;&lt;P&gt;    where ( F~FTRMI ne GVD_INITDATE&lt;/P&gt;&lt;P&gt;      and   D~XLOEK ne 1&lt;/P&gt;&lt;P&gt;      and ( D&lt;SUB&gt;DAUAT eq 'ZP01' or D&lt;/SUB&gt;DAUAT EQ 'ZP02' or&lt;/P&gt;&lt;P&gt;            D&lt;SUB&gt;DAUAT eq 'ZCNR' or D&lt;/SUB&gt;DAUAT EQ 'ZCNV' ) )&lt;/P&gt;&lt;P&gt;      and ( E~AEDAT lt GVD_DATE&lt;/P&gt;&lt;P&gt;       or ( E&lt;SUB&gt;AEDAT eq GVD_DATE and E&lt;/SUB&gt;AEZEIT le GVT_TIME ) ).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Mar 2005 17:50:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918853#M58634</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-03-28T17:50:45Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Extractor</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918854#M58635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you please tell me what an ABAP extractor is? &amp;amp; Also what i sthe difference between an abap extractor and a generic extractor? Thank you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jun 2005 13:39:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-extractor/m-p/918854#M58635</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-06-01T13:39:57Z</dc:date>
    </item>
  </channel>
</rss>

