<?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 PS data extraction using LDB PSJ in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166263#M121818</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This post is just for help in case you intend to extract data from the logical database PSJ. It could be very helpful in your way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The program is part of an interfase I developed and the input is a work area(structure) with the fields you normaly fill when you call the PSJ LDB.  The structure of this import you can replace it with values you put in the selection screen for your testing, for example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Replace this code (comment the code):&lt;/P&gt;&lt;P&gt;  IMPORT wa_master_data FROM MEMORY ID sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_profd       = wa_master_data-profile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imtp-sign   = wa_master_data-sign.&lt;/P&gt;&lt;P&gt;  cn_imtp-option = wa_master_data-option.&lt;/P&gt;&lt;P&gt;  cn_imtp-low    = wa_master_data-prog_inversiones.&lt;/P&gt;&lt;P&gt;  APPEND cn_imtp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imprp   = wa_master_data-id_de_posicion.&lt;/P&gt;&lt;P&gt;  cn_imtpj   = wa_master_data-a_autoriz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cn_profd       = '000000000005'. "wa_master_data-profile.&lt;/P&gt;&lt;P&gt;cn_imtp-sign   = 'I'.         "wa_master_data-sign.&lt;/P&gt;&lt;P&gt;cn_imtp-option = 'EQ'.        "wa_master_data-option.&lt;/P&gt;&lt;P&gt;cn_imtp-low = 'PRO2005'. "wa_master_data-prog_inversiones.&lt;/P&gt;&lt;P&gt;APPEND cn_imtp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cn_imprp   = 'ALAMBRICO'. "wa_master_data-d_de_posicion.&lt;/P&gt;&lt;P&gt;cn_imtpj   = '2005'.          "wa_master_data-a_autoriz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At the end the interfase fill an internal table which it's going to be exported to the calling program. The internal table name is itdata and contain the following information:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cod_proj = WBS element short identification&lt;/P&gt;&lt;P&gt;descrip  = PS: Short description&lt;/P&gt;&lt;P&gt;inv_real = actual&lt;/P&gt;&lt;P&gt;dispuesto = assigned&lt;/P&gt;&lt;P&gt;disponible = available&lt;/P&gt;&lt;P&gt;presupuesto = budget&lt;/P&gt;&lt;P&gt;comprometido = commitment&lt;/P&gt;&lt;P&gt;POC = porcent of completion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cod_proj     LIKE prps_r-poski &lt;/P&gt;&lt;P&gt;descrip      LIKE prps_r-post1 "project description&lt;/P&gt;&lt;P&gt;inv_real     LIKE cosp1-wkg005,"actual&lt;/P&gt;&lt;P&gt;dispuesto    LIKE cosp1-wkg005,"&lt;/P&gt;&lt;P&gt;disponible   LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;presupuesto  LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;comprometido LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;poc          LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just go to the fields description in the ABAP dictionary to see the details and descriptions in english.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can put other fields in this table if you need it and modify the program as you like in order to extract the desired data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the entire code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zcharli_project_system                                      .&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INFORMACION GENERAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Nombre programa   :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Título            : Genera archivo proyectos alámbricos&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Autor             : Charli Florimón&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Fecha Elaboración : 10/2005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Tipo              : Interfase&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Copia de          :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Propósito         : Crea archivos interfase "Proyectos Alámbricos"&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Módulo            : &amp;lt;PS&amp;gt; Project System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ABAP´s Includes   :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Restricciones     :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Modificacion      :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Fecha Modificación:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Nodes to be used by the program&lt;/P&gt;&lt;P&gt;NODES:  ev_poc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Selection tables&lt;/P&gt;&lt;P&gt;RANGES: r_jerar FOR prps_r-objnr,&lt;/P&gt;&lt;P&gt;       st_object FOR onr00-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Tables that are going to be used&lt;/P&gt;&lt;P&gt;TABLES: rsthie, proj, prps_r, aufk, act01,&lt;/P&gt;&lt;P&gt;        psdypd, psdypr, psdynp, psdynv,&lt;/P&gt;&lt;P&gt;        cosp1, pstx, tcndb, tcnds, impr, coss1, rpsco1, onr00, bpja1,&lt;/P&gt;&lt;P&gt;        tcnt, sscrfields, pstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Data objects declarations&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   presupuesto        LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;   real               LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   comprometido       LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   dispuesto          LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   disponible         LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   presupuesto_total  LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   real_total         LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   comprometido_total LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   dispuesto_total    LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   disponible_total   LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   proyecto1          LIKE prps-posid,&lt;/P&gt;&lt;P&gt;   descripcion        LIKE prps-post1,&lt;/P&gt;&lt;P&gt;   contador1          LIKE bkpf-monat,&lt;/P&gt;&lt;P&gt;   contador2          LIKE bkpf-monat,&lt;/P&gt;&lt;P&gt;   contador3          LIKE bkpf-monat,&lt;/P&gt;&lt;P&gt;   poc                LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;   aux_cod_proj       LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;   aux_objnr          LIKE rpsco1-objnr,&lt;/P&gt;&lt;P&gt;   vmes(17).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Field symbols declarations&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Types definitions&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--CO Object: Cost Totals for External Postings&lt;/P&gt;&lt;P&gt;      BEGIN OF it,&lt;/P&gt;&lt;P&gt;         objnr  LIKE cosp1-objnr,&lt;/P&gt;&lt;P&gt;         wrttp  LIKE cosp1-wrttp,&lt;/P&gt;&lt;P&gt;         kstar  LIKE cosp1-kstar,&lt;/P&gt;&lt;P&gt;         vrgng  LIKE cosp1-vrgng,&lt;/P&gt;&lt;P&gt;         wkg001 LIKE cosp1-wkg001,&lt;/P&gt;&lt;P&gt;         wkg002 LIKE cosp1-wkg002,&lt;/P&gt;&lt;P&gt;         wkg003 LIKE cosp1-wkg003,&lt;/P&gt;&lt;P&gt;         wkg004 LIKE cosp1-wkg004,&lt;/P&gt;&lt;P&gt;         wkg005 LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         wkg007 LIKE cosp1-wkg007,&lt;/P&gt;&lt;P&gt;         wkg008 LIKE cosp1-wkg008,&lt;/P&gt;&lt;P&gt;         wkg009 LIKE cosp1-wkg009,&lt;/P&gt;&lt;P&gt;         wkg010 LIKE cosp1-wkg010,&lt;/P&gt;&lt;P&gt;         wkg011 LIKE cosp1-wkg011,&lt;/P&gt;&lt;P&gt;         wkg012 LIKE cosp1-wkg012,&lt;/P&gt;&lt;P&gt;         wkg013 LIKE cosp1-wkg013,&lt;/P&gt;&lt;P&gt;         wkg014 LIKE cosp1-wkg014,&lt;/P&gt;&lt;P&gt;         wkg015 LIKE cosp1-wkg015,&lt;/P&gt;&lt;P&gt;         wkg016 LIKE cosp1-wkg016,&lt;/P&gt;&lt;P&gt;      END OF it,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Project Hierarchy Reporting Structure&lt;/P&gt;&lt;P&gt;      BEGIN OF itab,&lt;/P&gt;&lt;P&gt;         objnr  LIKE prps_r-objnr,   "número de objeto&lt;/P&gt;&lt;P&gt;         posid  LIKE prps_r-posid,   "Proyecto sin guiones&lt;/P&gt;&lt;P&gt;         post1  LIKE prps_r-post1,   "Descripción proyecto&lt;/P&gt;&lt;P&gt;         poski  LIKE prps_r-poski,   "Proyecto con guiones&lt;/P&gt;&lt;P&gt;         stufe  LIKE prps_r-stufe,   "Herarquía posiciones&lt;/P&gt;&lt;P&gt;         psphi  LIKE prps_r-psphi,   "Nivel principal en jerarquía&lt;/P&gt;&lt;P&gt;      END OF itab,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Project definition&lt;/P&gt;&lt;P&gt;      BEGIN OF itpr,&lt;/P&gt;&lt;P&gt;         pspid LIKE proj-pspid,&lt;/P&gt;&lt;P&gt;         post1 LIKE proj-post1,&lt;/P&gt;&lt;P&gt;      END OF itpr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Structure for PDB PSJ (Percentage of Completion)&lt;/P&gt;&lt;P&gt;      BEGIN OF t_poc,&lt;/P&gt;&lt;P&gt;         proyecto LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;         objnr    LIKE ev_poc-objnr,&lt;/P&gt;&lt;P&gt;         meg007   LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;         wrttp    LIKE ev_poc-wrttp,&lt;/P&gt;&lt;P&gt;         acpos    LIKE ev_poc-acpos,&lt;/P&gt;&lt;P&gt;      END OF t_poc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table with totals&lt;/P&gt;&lt;P&gt;      BEGIN OF t_data,&lt;/P&gt;&lt;P&gt;         cod_proj     LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;         descrip      LIKE prps_r-post1,&lt;/P&gt;&lt;P&gt;         inv_real     LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         dispuesto    LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         disponible   LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         presupuesto  LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         comprometido LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         poc          LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;      END OF t_data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--CO Object: Cost Totals for Internal Postings&lt;/P&gt;&lt;P&gt;      BEGIN OF t_coss1,&lt;/P&gt;&lt;P&gt;         objnr  LIKE coss1-objnr,  "Object number&lt;/P&gt;&lt;P&gt;         wrttp  LIKE coss1-wrttp,&lt;/P&gt;&lt;P&gt;         versn  LIKE coss1-versn,&lt;/P&gt;&lt;P&gt;         kstar  LIKE coss1-kstar,  "Cost Element&lt;/P&gt;&lt;P&gt;         twaer  LIKE coss1-twaer,&lt;/P&gt;&lt;P&gt;         perbl  LIKE coss1-perbl,&lt;/P&gt;&lt;P&gt;         vrgng  LIKE coss1-vrgng,  "CO Business Transaction&lt;/P&gt;&lt;P&gt;         wkg001 LIKE coss1-wkg001, "Total Value in Controlling Area Currency&lt;/P&gt;&lt;P&gt;         wkg002 LIKE coss1-wkg002,&lt;/P&gt;&lt;P&gt;         wkg003 LIKE coss1-wkg003,&lt;/P&gt;&lt;P&gt;         wkg004 LIKE coss1-wkg004,&lt;/P&gt;&lt;P&gt;         wkg005 LIKE coss1-wkg005,&lt;/P&gt;&lt;P&gt;         wkg007 LIKE coss1-wkg007,&lt;/P&gt;&lt;P&gt;         wkg008 LIKE coss1-wkg008,&lt;/P&gt;&lt;P&gt;         wkg009 LIKE coss1-wkg009,&lt;/P&gt;&lt;P&gt;         wkg010 LIKE coss1-wkg010,&lt;/P&gt;&lt;P&gt;         wkg011 LIKE coss1-wkg011,&lt;/P&gt;&lt;P&gt;         wkg012 LIKE coss1-wkg012,&lt;/P&gt;&lt;P&gt;         wkg013 LIKE coss1-wkg013,&lt;/P&gt;&lt;P&gt;         wkg014 LIKE coss1-wkg014,&lt;/P&gt;&lt;P&gt;         wkg015 LIKE coss1-wkg015,&lt;/P&gt;&lt;P&gt;         wkg016 LIKE coss1-wkg016,&lt;/P&gt;&lt;P&gt;         beltp  LIKE coss1-beltp,&lt;/P&gt;&lt;P&gt;      END OF t_coss1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Tabla interna con los Object Numbers&lt;/P&gt;&lt;P&gt;      BEGIN OF t_onr00,&lt;/P&gt;&lt;P&gt;         posid LIKE prps_r-posid,&lt;/P&gt;&lt;P&gt;         objnr LIKE onr00-objnr,&lt;/P&gt;&lt;P&gt;      END OF t_onr00,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Summarization Table for Project Reporting&lt;/P&gt;&lt;P&gt;      BEGIN OF t_rpsco1,&lt;/P&gt;&lt;P&gt;         psphi LIKE prps_r-psphi,&lt;/P&gt;&lt;P&gt;         objnr LIKE rpsco1-objnr, "número de objeto&lt;/P&gt;&lt;P&gt;         poski LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;         posid LIKE prps_r-posid,&lt;/P&gt;&lt;P&gt;         lednr LIKE rpsco1-lednr,&lt;/P&gt;&lt;P&gt;         wrttp LIKE rpsco1-wrttp,&lt;/P&gt;&lt;P&gt;         trgkz LIKE rpsco1-trgkz,&lt;/P&gt;&lt;P&gt;         gjahr LIKE rpsco1-gjahr,&lt;/P&gt;&lt;P&gt;         acpos LIKE rpsco1-acpos,  "Categoría de valor&lt;/P&gt;&lt;P&gt;         vorga LIKE rpsco1-vorga,  "Clase presupuesto presupuestación/planificación&lt;/P&gt;&lt;P&gt;         versn LIKE rpsco1-versn,&lt;/P&gt;&lt;P&gt;         abkat LIKE rpsco1-abkat,&lt;/P&gt;&lt;P&gt;         geber LIKE rpsco1-geber,&lt;/P&gt;&lt;P&gt;         twaer LIKE rpsco1-twaer,  "moneda de transacción&lt;/P&gt;&lt;P&gt;         perbl LIKE rpsco1-perbl,&lt;/P&gt;&lt;P&gt;         beltp LIKE rpsco1-beltp,&lt;/P&gt;&lt;P&gt;         wlp00 LIKE rpsco1-wlp00,  "Valor de período en moneda de ledger&lt;/P&gt;&lt;P&gt;         wlp01 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp02 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp03 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp04 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp05 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp06 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp07 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp08 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp09 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp10 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp11 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp12 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp13 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp14 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp15 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp16 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wtp00 LIKE rpsco1-wtp00,  "Valor anual en moneda de transacción&lt;/P&gt;&lt;P&gt;         wtp01 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp02 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp03 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp04 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp05 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp06 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp07 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp08 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp09 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp10 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp11 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp12 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp13 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp14 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp15 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp16 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         poc   LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;         sttxt_int LIKE pstat-sttxt_int, "status del sistema&lt;/P&gt;&lt;P&gt;      END OF t_rpsco1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      BEGIN OF t_pstat,&lt;/P&gt;&lt;P&gt;         objnr      LIKE pstat-objnr,&lt;/P&gt;&lt;P&gt;         sttxt_int  LIKE pstat-sttxt_int,&lt;/P&gt;&lt;P&gt;         sttxt_ext  LIKE pstat-sttxt_ext,&lt;/P&gt;&lt;P&gt;         astex      LIKE pstat-astex,&lt;/P&gt;&lt;P&gt;      END OF t_pstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Parámetros que vienen del programa principal&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_master_data,&lt;/P&gt;&lt;P&gt;         profile             LIKE zfps_params-profile,&lt;/P&gt;&lt;P&gt;         prog_inversiones    LIKE zfps_params-prog_inversiones,&lt;/P&gt;&lt;P&gt;         id_de_posicion      LIKE zfps_params-id_de_posicion,&lt;/P&gt;&lt;P&gt;         a_autoriz           LIKE zfps_params-a_autoriz,&lt;/P&gt;&lt;P&gt;         sign TYPE c,&lt;/P&gt;&lt;P&gt;         option TYPE c LENGTH 2,&lt;/P&gt;&lt;P&gt;      END OF t_master_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_master_data TYPE TABLE OF t_master_data,&lt;/P&gt;&lt;P&gt;      wa_master_data LIKE LINE OF it_master_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: aux_id  TYPE c LENGTH 8,&lt;/P&gt;&lt;P&gt;      aux_id2 TYPE c LENGTH 8,&lt;/P&gt;&lt;P&gt;      aux_pstat_objnr LIKE pstat-objnr,&lt;/P&gt;&lt;P&gt;      awx_sttxt_int   LIKE pstat-sttxt_int.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Internal table declarations&lt;/P&gt;&lt;P&gt;DATA:itcosp1  TYPE  TABLE OF it WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itprps   TYPE  TABLE OF itab WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itproj   TYPE  TABLE OF itpr WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itev_poc TYPE  TABLE OF t_poc WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itdata   TYPE  TABLE OF t_data WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itjerar  TYPE  TABLE OF itab WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itcoss1  TYPE  TABLE OF t_coss1 WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itpstat  TYPE  TABLE OF t_pstat WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itrpsco1 TYPE  TABLE OF t_rpsco1,&lt;/P&gt;&lt;P&gt;     itonr00  TYPE  TABLE OF t_onr00,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Work area declarations&lt;/P&gt;&lt;P&gt;     itcosp1_wa   TYPE it,&lt;/P&gt;&lt;P&gt;     itprps_wa    TYPE itab,&lt;/P&gt;&lt;P&gt;     itprps_wa2   TYPE itab,&lt;/P&gt;&lt;P&gt;     itproj_wa    TYPE itpr,&lt;/P&gt;&lt;P&gt;     itev_poc_wa  TYPE t_poc,&lt;/P&gt;&lt;P&gt;     itdata_wa    TYPE t_data,&lt;/P&gt;&lt;P&gt;     itjerar_wa   TYPE itab,&lt;/P&gt;&lt;P&gt;     itcoss1_wa   TYPE t_coss1,&lt;/P&gt;&lt;P&gt;     itrpsco1_wa  LIKE LINE OF itrpsco1,&lt;/P&gt;&lt;P&gt;     itonr00_wa   LIKE LINE OF itonr00,&lt;/P&gt;&lt;P&gt;     itpstat_wa   LIKE LINE OF itpstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;Get data from Logical Database----&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt;******&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Llenado de los parámetros que necesita el perfíl&lt;/P&gt;&lt;P&gt;*de la base de datos lógica PSJ.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IMPORT wa_master_data FROM MEMORY ID sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_profd       = wa_master_data-profile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imtp-sign   = wa_master_data-sign.&lt;/P&gt;&lt;P&gt;  cn_imtp-option = wa_master_data-option.&lt;/P&gt;&lt;P&gt;  cn_imtp-low    = wa_master_data-prog_inversiones.&lt;/P&gt;&lt;P&gt;  APPEND cn_imtp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imprp   = wa_master_data-id_de_posicion.&lt;/P&gt;&lt;P&gt;  cn_imtpj   = wa_master_data-a_autoriz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*Inicio de lógica para extraer la data de proyectos&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;GET pstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itpstat_wa-objnr      = pstat-objnr.&lt;/P&gt;&lt;P&gt;  itpstat_wa-sttxt_int  = pstat-sttxt_int.&lt;/P&gt;&lt;P&gt;  itpstat_wa-sttxt_ext  = pstat-sttxt_ext.&lt;/P&gt;&lt;P&gt;  itpstat_wa-astex      = pstat-astex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itpstat_wa TO itpstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET proj.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PROJ', proj-pspid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET proj LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PROJ LATE', proj-pspid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET prps_r.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itprps_wa-poski  = prps_r-poski.&lt;/P&gt;&lt;P&gt;  itprps_wa-objnr  = prps_r-objnr.&lt;/P&gt;&lt;P&gt;  itprps_wa-posid  = prps_r-posid.&lt;/P&gt;&lt;P&gt;  itprps_wa-post1  = prps_r-post1.&lt;/P&gt;&lt;P&gt;  itprps_wa-psphi  = prps_r-psphi.&lt;/P&gt;&lt;P&gt;  itprps_wa-stufe  = prps_r-stufe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itprps_wa TO itprps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itjerar_wa-poski  = prps_r-poski.&lt;/P&gt;&lt;P&gt;  itjerar_wa-objnr  = prps_r-objnr.&lt;/P&gt;&lt;P&gt;  itjerar_wa-posid  = prps_r-posid.&lt;/P&gt;&lt;P&gt;  itjerar_wa-post1  = prps_r-post1.&lt;/P&gt;&lt;P&gt;  itjerar_wa-psphi  = prps_r-psphi.&lt;/P&gt;&lt;P&gt;  itjerar_wa-stufe  = prps_r-stufe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itjerar_wa TO itjerar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PRPS', prps_r-posid, prps_r-post1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET prps_r LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PRPS LATE', prps_r-posid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pstx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PSTX', pstx-pstxtky.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pstx LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PSTX LATE', pstx-pstxtky.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET aufk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'AUFK', aufk-aufnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET aufk LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'AUFK LATE', aufk-aufnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET act01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'ACT01', act01-aufpl, act01-aplzl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET act01 LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'ACT01 LATE', act01-aufpl, act01-aplzl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;GET impr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:/ 'IMPR', impr-posid, impr-prnam, impr-parnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdypd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdypr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdynp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdynv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET onr00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itonr00_wa-posid = prps_r-posid.&lt;/P&gt;&lt;P&gt;  itonr00_wa-objnr = onr00-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itonr00_wa TO itonr00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET rpsco1.&lt;/P&gt;&lt;P&gt;*-De aquí obtenemos el presupuesto, real, comprometido por proyecto&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-objnr = rpsco1-objnr. "número de objeto&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-psphi = prps_r-psphi. "Número actual del proyecto correspondiente&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-posid = prps_r-posid. "(elemento PEP)&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-poski = prps_r-poski.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-lednr = rpsco1-lednr.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wrttp = rpsco1-wrttp.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-trgkz = rpsco1-trgkz.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-gjahr = rpsco1-gjahr.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-acpos = rpsco1-acpos.  "Categoría de valor&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-vorga = rpsco1-vorga.  "Clase presupuesto presupuestación/planificación&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-versn = rpsco1-versn.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-abkat = rpsco1-abkat.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-geber = rpsco1-geber.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-twaer = rpsco1-twaer.  "moneda de transacción&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-perbl = rpsco1-perbl.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-beltp = rpsco1-beltp.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp00 = rpsco1-wlp00.  "Valor de período en moneda de ledger&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp01 = rpsco1-wlp01.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp02 = rpsco1-wlp02.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp03 = rpsco1-wlp03.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp04 = rpsco1-wlp04.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp05 = rpsco1-wlp05.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp06 = rpsco1-wlp06.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp07 = rpsco1-wlp07.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp08 = rpsco1-wlp08.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp09 = rpsco1-wlp09.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp10 = rpsco1-wlp10.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp11 = rpsco1-wlp11.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp12 = rpsco1-wlp12.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp13 = rpsco1-wlp13.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp14 = rpsco1-wlp14.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp15 = rpsco1-wlp15.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp16 = rpsco1-wlp16.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp00 = rpsco1-wtp00.  "Valor anual en moneda de transacción&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp01 = rpsco1-wtp01.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp02 = rpsco1-wtp02.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp03 = rpsco1-wtp03.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp04 = rpsco1-wtp04.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp05 = rpsco1-wtp05.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp06 = rpsco1-wtp06.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp07 = rpsco1-wtp07.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp08 = rpsco1-wtp08.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp09 = rpsco1-wtp09.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp10 = rpsco1-wtp10.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp11 = rpsco1-wtp11.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp12 = rpsco1-wtp12.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp13 = rpsco1-wtp13.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp14 = rpsco1-wtp14.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp15 = rpsco1-wtp15.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp16 = rpsco1-wtp16.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-poc   = ev_poc-meg007. "Percent of Completion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;variables auxiliares que pueden utilizarse en el futuro&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; aux_pstat_objnr = pstat-objnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; awx_sttxt_int   = pstat-sttxt_int.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE itpstat INTO itpstat_wa WITH KEY objnr = itrpsco1_wa-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    itrpsco1_wa-sttxt_int = itpstat_wa-sttxt_int.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    itrpsco1_wa-sttxt_int = 'N/A'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itrpsco1_wa TO itrpsco1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET cosp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itcosp1_wa-objnr  = cosp1-objnr.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wrttp  = cosp1-wrttp.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-kstar  = cosp1-kstar.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-vrgng  = cosp1-vrgng.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg001 = cosp1-wkg001.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg002 = cosp1-wkg002.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg003 = cosp1-wkg003.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg004 = cosp1-wkg004.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg005 = cosp1-wkg005.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg007 = cosp1-wkg007.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg008 = cosp1-wkg008.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg009 = cosp1-wkg009.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg010 = cosp1-wkg010.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg011 = cosp1-wkg011.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg012 = cosp1-wkg012.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg013 = cosp1-wkg013.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg014 = cosp1-wkg014.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg015 = cosp1-wkg015.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg016 = cosp1-wkg016.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itcosp1_wa TO itcosp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET coss1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itcoss1_wa-objnr  = coss1-objnr.  "Object number&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wrttp  = coss1-wrttp.  "Tipo de valor&lt;/P&gt;&lt;P&gt;  itcoss1_wa-versn  = coss1-versn.  "Versión&lt;/P&gt;&lt;P&gt;  itcoss1_wa-kstar  = coss1-kstar.  "Cost Element&lt;/P&gt;&lt;P&gt;  itcoss1_wa-vrgng  = coss1-vrgng.  "CO Business Transaction&lt;/P&gt;&lt;P&gt;  itcoss1_wa-twaer  = coss1-twaer.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-perbl  = coss1-perbl.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg001 = coss1-wkg001. "Total Value in Controlling Area Currency&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg002 = coss1-wkg002.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg003 = coss1-wkg003.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg004 = coss1-wkg004.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg005 = coss1-wkg005.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg007 = coss1-wkg007.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg008 = coss1-wkg008.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg009 = coss1-wkg009.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg010 = coss1-wkg010.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg011 = coss1-wkg011.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg012 = coss1-wkg012.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg013 = coss1-wkg013.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg014 = coss1-wkg014.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg015 = coss1-wkg015.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg016 = coss1-wkg016.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-beltp  = coss1-beltp.  "Tipo de cargo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itcoss1_wa TO itcoss1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET ev_poc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itev_poc_wa-objnr    = ev_poc-objnr.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-meg007   = ev_poc-meg007.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-wrttp    = ev_poc-wrttp.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-acpos    = ev_poc-acpos.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-proyecto = prps_r-poski.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itev_poc_wa TO itev_poc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Inicio lógica principal&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT itprps INTO itprps_wa WHERE stufe = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR itcosp1_wa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT itcosp1 BY objnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Busca todos los niveles de la jerarquía para un proyecto específico&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM llena_jerarquia.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Obtener montos del proyecto&lt;/P&gt;&lt;P&gt;  CLEAR: presupuesto, real, comprometido, poc,&lt;/P&gt;&lt;P&gt;         contador1, contador2, contador3.&lt;/P&gt;&lt;P&gt;  CLEAR: itdata_wa.&lt;/P&gt;&lt;P&gt;  SORT itrpsco1 BY psphi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itrpsco1 INTO itrpsco1_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    aux_cod_proj       = itrpsco1_wa-poski+0(10).&lt;/P&gt;&lt;P&gt;    itdata_wa-cod_proj = aux_cod_proj.&lt;/P&gt;&lt;P&gt;    aux_objnr          = itrpsco1_wa-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW psphi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;  validar cierre del sistema no es "CERR"&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    este chequeo puede ser utilizado en el futuro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     check itrpsco1_wa-sttxt_int+0(4) &amp;lt;&amp;gt; 'CERR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: presupuesto, real, comprometido, poc,&lt;/P&gt;&lt;P&gt;      contador1, contador2, contador3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE ALL OCCURRENCES OF '-' IN itdata_wa-cod_proj WITH ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT post1 FROM prps INTO itdata_wa-descrip&lt;/P&gt;&lt;P&gt;               WHERE posid = itdata_wa-cod_proj.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Poner el valor original al código del proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      itdata_wa-cod_proj = aux_cod_proj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Buscar Porciento de Completación&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE itev_poc INTO itev_poc_wa WITH KEY&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         objnr = aux_objnr&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          proyecto = aux_cod_proj&lt;/P&gt;&lt;P&gt;          wrttp = 'P2'&lt;/P&gt;&lt;P&gt;          acpos = 'PROGRESO2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        itdata_wa-poc =  itev_poc_wa-meg007.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        itdata_wa-poc = 0.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Accede la tabla interna itrpsco1 y busca el presupuesto del&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF itrpsco1_wa-versn = '000'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-lednr = '0001'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-wrttp = '41'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-trgkz = 'P'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-beltp = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sumarizar las columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR contador1.&lt;/P&gt;&lt;P&gt;      contador1 = '00'.&lt;/P&gt;&lt;P&gt;      AT NEW psphi.&lt;/P&gt;&lt;P&gt;        CLEAR presupuesto.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHILE contador1 .&lt;/P&gt;&lt;P&gt;        contador1 = contador1 + 1.&lt;/P&gt;&lt;P&gt;      ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT END OF psphi.&lt;/P&gt;&lt;P&gt;        itdata_wa-presupuesto = presupuesto.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*--Nota:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Este valor de Presupuesto sumarizado lo podemos obtener de las tablas:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; BPEG1 y BPJA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Rutina que extrae la inversión real del proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*clave busqueda para REAL en tabla RPSCO1				&lt;/P&gt;&lt;P&gt;*LEDNR	WRTTP	TRGKZ	VERSN	BELTP&lt;/P&gt;&lt;P&gt;*1	4	P	0	1&lt;/P&gt;&lt;P&gt;*	11	1-9		&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF itrpsco1_wa-versn = '000'&lt;/P&gt;&lt;P&gt;                      AND itrpsco1_wa-lednr = '0001'&lt;/P&gt;&lt;P&gt;                      AND ( itrpsco1_wa-wrttp = '04' OR itrpsco1_wa-wrttp = '11')&lt;/P&gt;&lt;P&gt;                      AND ( itrpsco1_wa-trgkz BETWEEN '1' AND '9' OR itrpsco1_wa-trgkz = 'P')&lt;/P&gt;&lt;P&gt;                      AND itrpsco1_wa-beltp = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sumarizar las columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR contador2.&lt;/P&gt;&lt;P&gt;      contador2 = '00'.&lt;/P&gt;&lt;P&gt;      AT NEW psphi.&lt;/P&gt;&lt;P&gt;        CLEAR real.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHILE contador2 .&lt;/P&gt;&lt;P&gt;        contador2 = contador2 + 1.&lt;/P&gt;&lt;P&gt;      ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT END OF psphi.&lt;/P&gt;&lt;P&gt;        itdata_wa-inv_real = real.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Rutina que extrae la inversión real del proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*clave busqueda para COMPROMETIDO en tabla RPSCO1				&lt;/P&gt;&lt;P&gt;*LEDNR	WRTTP	       TRGKZ	VERSN	BELTP&lt;/P&gt;&lt;P&gt;*1	21-24, 26	P	0	1&lt;/P&gt;&lt;P&gt;*	5A,58	1-9		&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF itrpsco1_wa-versn = '000'&lt;/P&gt;&lt;P&gt;                     AND itrpsco1_wa-lednr = '0001'&lt;/P&gt;&lt;P&gt;                     AND ( itrpsco1_wa-wrttp BETWEEN '21' AND '24' OR&lt;/P&gt;&lt;P&gt;                           itrpsco1_wa-wrttp = '26' OR itrpsco1_wa-wrttp = '5A' OR&lt;/P&gt;&lt;P&gt;                           itrpsco1_wa-wrttp BETWEEN '54' AND '58')&lt;/P&gt;&lt;P&gt;                     AND ( itrpsco1_wa-trgkz BETWEEN '1' AND '9' OR itrpsco1_wa-trgkz = 'P')&lt;/P&gt;&lt;P&gt;                     AND itrpsco1_wa-beltp = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sumarizar las columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR contador3.&lt;/P&gt;&lt;P&gt;      contador3 = '00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW psphi.&lt;/P&gt;&lt;P&gt;        CLEAR comprometido.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHILE contador3 .&lt;/P&gt;&lt;P&gt;        contador3 = contador3 + 1.&lt;/P&gt;&lt;P&gt;      ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT END OF psphi.&lt;/P&gt;&lt;P&gt;        itdata_wa-comprometido = comprometido.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF psphi.&lt;/P&gt;&lt;P&gt;      itdata_wa-inv_real     = real.&lt;/P&gt;&lt;P&gt;      itdata_wa-comprometido = comprometido.&lt;/P&gt;&lt;P&gt;      itdata_wa-dispuesto    = real + comprometido.&lt;/P&gt;&lt;P&gt;      itdata_wa-disponible   = presupuesto - itdata_wa-dispuesto.&lt;/P&gt;&lt;P&gt;      itdata_wa-presupuesto  = presupuesto.&lt;/P&gt;&lt;P&gt;      APPEND itdata_wa TO itdata.&lt;/P&gt;&lt;P&gt;      CLEAR itdata_wa.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT itcosp1 INTO itcosp1_wa WHERE objnr IN st_object.  "r_jerar.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**----- Buscar monto real y comprometido&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     PERFORM sumarizar_datos.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---impresión de la data "TEST"&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR itdata_wa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT itdata INTO itdata_wa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / 'Proyecto: ', itdata_wa-cod_proj,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         'Descripción: ', itdata_wa-descrip,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         'POC: ', itdata_wa-poc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Presupuesto: ', itdata_wa-presupuesto,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Real: ', itdata_wa-inv_real,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Comprometido: ', itdata_wa-comprometido,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Dispuesto: ', itdata_wa-dispuesto,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Disponible: ', itdata_wa-disponible.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SKIP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE sy-uname&lt;EM&gt;2(4) sy-uzeit&lt;/EM&gt;2(4) INTO aux_id2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EXPORT itdata FROM itdata TO MEMORY ID sy-uname+2(5).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sumarizar_datos&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sumarizar_datos .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Anteriormente lo usé para buscar el presupuesto de un proyecto&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF itcosp1_wa-vrgng = 'RKP1'.                     "RKP1 = Presupuestado en tabla COSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR contador.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   contador = '01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DO 16 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'itcosp1_wa-wkg0' contador INTO vmes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN (vmes) TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     presupuesto = presupuesto  + &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     contador = contador + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**--Buscar real del proyecto&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF itcosp1_wa-vrgng = 'COIN' OR itcosp1_wa-vrgng = 'COIE'.  "COIN = real en tabla COSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR contador.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   contador = '01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DO 16 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'itcosp1_wa-wkg0' contador INTO vmes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN (vmes) TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     real = real  + &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     contador = contador + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**--Buscar comprometido del proyecto&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSEIF itcosp1_wa-vrgng = 'RMBE' OR itcosp1_wa-vrgng = 'RMBA'.  "RMBE = comprometido en tabla COSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR contador.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   contador = '01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DO 16 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'itcosp1_wa-wkg0' contador INTO vmes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN (vmes) TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     comprometido = comprometido  + &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     contador = contador + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sumarizar_datos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  llena_jerarquia&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Carga la jerarquía completa para un proyecto específico&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM llena_jerarquia .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR itprps_wa2. REFRESH r_jerar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itprps INTO itprps_wa2 WHERE psphi = itprps_wa-psphi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    r_jerar-sign   = 'I'.&lt;/P&gt;&lt;P&gt;    r_jerar-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    r_jerar-low    = itprps_wa2-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND r_jerar.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itonr00 INTO itonr00_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    st_object-sign   = 'I'.&lt;/P&gt;&lt;P&gt;    st_object-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    st_object-low    = itonr00_wa-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND st_object.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " llena_jerarquia&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Feb 2006 15:03:37 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-02-21T15:03:37Z</dc:date>
    <item>
      <title>PS data extraction using LDB PSJ</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166263#M121818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This post is just for help in case you intend to extract data from the logical database PSJ. It could be very helpful in your way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The program is part of an interfase I developed and the input is a work area(structure) with the fields you normaly fill when you call the PSJ LDB.  The structure of this import you can replace it with values you put in the selection screen for your testing, for example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Replace this code (comment the code):&lt;/P&gt;&lt;P&gt;  IMPORT wa_master_data FROM MEMORY ID sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_profd       = wa_master_data-profile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imtp-sign   = wa_master_data-sign.&lt;/P&gt;&lt;P&gt;  cn_imtp-option = wa_master_data-option.&lt;/P&gt;&lt;P&gt;  cn_imtp-low    = wa_master_data-prog_inversiones.&lt;/P&gt;&lt;P&gt;  APPEND cn_imtp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imprp   = wa_master_data-id_de_posicion.&lt;/P&gt;&lt;P&gt;  cn_imtpj   = wa_master_data-a_autoriz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cn_profd       = '000000000005'. "wa_master_data-profile.&lt;/P&gt;&lt;P&gt;cn_imtp-sign   = 'I'.         "wa_master_data-sign.&lt;/P&gt;&lt;P&gt;cn_imtp-option = 'EQ'.        "wa_master_data-option.&lt;/P&gt;&lt;P&gt;cn_imtp-low = 'PRO2005'. "wa_master_data-prog_inversiones.&lt;/P&gt;&lt;P&gt;APPEND cn_imtp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cn_imprp   = 'ALAMBRICO'. "wa_master_data-d_de_posicion.&lt;/P&gt;&lt;P&gt;cn_imtpj   = '2005'.          "wa_master_data-a_autoriz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At the end the interfase fill an internal table which it's going to be exported to the calling program. The internal table name is itdata and contain the following information:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cod_proj = WBS element short identification&lt;/P&gt;&lt;P&gt;descrip  = PS: Short description&lt;/P&gt;&lt;P&gt;inv_real = actual&lt;/P&gt;&lt;P&gt;dispuesto = assigned&lt;/P&gt;&lt;P&gt;disponible = available&lt;/P&gt;&lt;P&gt;presupuesto = budget&lt;/P&gt;&lt;P&gt;comprometido = commitment&lt;/P&gt;&lt;P&gt;POC = porcent of completion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cod_proj     LIKE prps_r-poski &lt;/P&gt;&lt;P&gt;descrip      LIKE prps_r-post1 "project description&lt;/P&gt;&lt;P&gt;inv_real     LIKE cosp1-wkg005,"actual&lt;/P&gt;&lt;P&gt;dispuesto    LIKE cosp1-wkg005,"&lt;/P&gt;&lt;P&gt;disponible   LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;presupuesto  LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;comprometido LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;poc          LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just go to the fields description in the ABAP dictionary to see the details and descriptions in english.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can put other fields in this table if you need it and modify the program as you like in order to extract the desired data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the entire code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zcharli_project_system                                      .&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INFORMACION GENERAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Nombre programa   :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Título            : Genera archivo proyectos alámbricos&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Autor             : Charli Florimón&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Fecha Elaboración : 10/2005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Tipo              : Interfase&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Copia de          :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Propósito         : Crea archivos interfase "Proyectos Alámbricos"&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Módulo            : &amp;lt;PS&amp;gt; Project System&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ABAP´s Includes   :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Restricciones     :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Modificacion      :&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Fecha Modificación:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Nodes to be used by the program&lt;/P&gt;&lt;P&gt;NODES:  ev_poc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Selection tables&lt;/P&gt;&lt;P&gt;RANGES: r_jerar FOR prps_r-objnr,&lt;/P&gt;&lt;P&gt;       st_object FOR onr00-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Tables that are going to be used&lt;/P&gt;&lt;P&gt;TABLES: rsthie, proj, prps_r, aufk, act01,&lt;/P&gt;&lt;P&gt;        psdypd, psdypr, psdynp, psdynv,&lt;/P&gt;&lt;P&gt;        cosp1, pstx, tcndb, tcnds, impr, coss1, rpsco1, onr00, bpja1,&lt;/P&gt;&lt;P&gt;        tcnt, sscrfields, pstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Data objects declarations&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;   presupuesto        LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;   real               LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   comprometido       LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   dispuesto          LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   disponible         LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   presupuesto_total  LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   real_total         LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   comprometido_total LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   dispuesto_total    LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   disponible_total   LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;   proyecto1          LIKE prps-posid,&lt;/P&gt;&lt;P&gt;   descripcion        LIKE prps-post1,&lt;/P&gt;&lt;P&gt;   contador1          LIKE bkpf-monat,&lt;/P&gt;&lt;P&gt;   contador2          LIKE bkpf-monat,&lt;/P&gt;&lt;P&gt;   contador3          LIKE bkpf-monat,&lt;/P&gt;&lt;P&gt;   poc                LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;   aux_cod_proj       LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;   aux_objnr          LIKE rpsco1-objnr,&lt;/P&gt;&lt;P&gt;   vmes(17).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Field symbols declarations&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Types definitions&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--CO Object: Cost Totals for External Postings&lt;/P&gt;&lt;P&gt;      BEGIN OF it,&lt;/P&gt;&lt;P&gt;         objnr  LIKE cosp1-objnr,&lt;/P&gt;&lt;P&gt;         wrttp  LIKE cosp1-wrttp,&lt;/P&gt;&lt;P&gt;         kstar  LIKE cosp1-kstar,&lt;/P&gt;&lt;P&gt;         vrgng  LIKE cosp1-vrgng,&lt;/P&gt;&lt;P&gt;         wkg001 LIKE cosp1-wkg001,&lt;/P&gt;&lt;P&gt;         wkg002 LIKE cosp1-wkg002,&lt;/P&gt;&lt;P&gt;         wkg003 LIKE cosp1-wkg003,&lt;/P&gt;&lt;P&gt;         wkg004 LIKE cosp1-wkg004,&lt;/P&gt;&lt;P&gt;         wkg005 LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         wkg007 LIKE cosp1-wkg007,&lt;/P&gt;&lt;P&gt;         wkg008 LIKE cosp1-wkg008,&lt;/P&gt;&lt;P&gt;         wkg009 LIKE cosp1-wkg009,&lt;/P&gt;&lt;P&gt;         wkg010 LIKE cosp1-wkg010,&lt;/P&gt;&lt;P&gt;         wkg011 LIKE cosp1-wkg011,&lt;/P&gt;&lt;P&gt;         wkg012 LIKE cosp1-wkg012,&lt;/P&gt;&lt;P&gt;         wkg013 LIKE cosp1-wkg013,&lt;/P&gt;&lt;P&gt;         wkg014 LIKE cosp1-wkg014,&lt;/P&gt;&lt;P&gt;         wkg015 LIKE cosp1-wkg015,&lt;/P&gt;&lt;P&gt;         wkg016 LIKE cosp1-wkg016,&lt;/P&gt;&lt;P&gt;      END OF it,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Project Hierarchy Reporting Structure&lt;/P&gt;&lt;P&gt;      BEGIN OF itab,&lt;/P&gt;&lt;P&gt;         objnr  LIKE prps_r-objnr,   "número de objeto&lt;/P&gt;&lt;P&gt;         posid  LIKE prps_r-posid,   "Proyecto sin guiones&lt;/P&gt;&lt;P&gt;         post1  LIKE prps_r-post1,   "Descripción proyecto&lt;/P&gt;&lt;P&gt;         poski  LIKE prps_r-poski,   "Proyecto con guiones&lt;/P&gt;&lt;P&gt;         stufe  LIKE prps_r-stufe,   "Herarquía posiciones&lt;/P&gt;&lt;P&gt;         psphi  LIKE prps_r-psphi,   "Nivel principal en jerarquía&lt;/P&gt;&lt;P&gt;      END OF itab,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Project definition&lt;/P&gt;&lt;P&gt;      BEGIN OF itpr,&lt;/P&gt;&lt;P&gt;         pspid LIKE proj-pspid,&lt;/P&gt;&lt;P&gt;         post1 LIKE proj-post1,&lt;/P&gt;&lt;P&gt;      END OF itpr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Structure for PDB PSJ (Percentage of Completion)&lt;/P&gt;&lt;P&gt;      BEGIN OF t_poc,&lt;/P&gt;&lt;P&gt;         proyecto LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;         objnr    LIKE ev_poc-objnr,&lt;/P&gt;&lt;P&gt;         meg007   LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;         wrttp    LIKE ev_poc-wrttp,&lt;/P&gt;&lt;P&gt;         acpos    LIKE ev_poc-acpos,&lt;/P&gt;&lt;P&gt;      END OF t_poc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Internal Table with totals&lt;/P&gt;&lt;P&gt;      BEGIN OF t_data,&lt;/P&gt;&lt;P&gt;         cod_proj     LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;         descrip      LIKE prps_r-post1,&lt;/P&gt;&lt;P&gt;         inv_real     LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         dispuesto    LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         disponible   LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         presupuesto  LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         comprometido LIKE cosp1-wkg005,&lt;/P&gt;&lt;P&gt;         poc          LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;      END OF t_data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--CO Object: Cost Totals for Internal Postings&lt;/P&gt;&lt;P&gt;      BEGIN OF t_coss1,&lt;/P&gt;&lt;P&gt;         objnr  LIKE coss1-objnr,  "Object number&lt;/P&gt;&lt;P&gt;         wrttp  LIKE coss1-wrttp,&lt;/P&gt;&lt;P&gt;         versn  LIKE coss1-versn,&lt;/P&gt;&lt;P&gt;         kstar  LIKE coss1-kstar,  "Cost Element&lt;/P&gt;&lt;P&gt;         twaer  LIKE coss1-twaer,&lt;/P&gt;&lt;P&gt;         perbl  LIKE coss1-perbl,&lt;/P&gt;&lt;P&gt;         vrgng  LIKE coss1-vrgng,  "CO Business Transaction&lt;/P&gt;&lt;P&gt;         wkg001 LIKE coss1-wkg001, "Total Value in Controlling Area Currency&lt;/P&gt;&lt;P&gt;         wkg002 LIKE coss1-wkg002,&lt;/P&gt;&lt;P&gt;         wkg003 LIKE coss1-wkg003,&lt;/P&gt;&lt;P&gt;         wkg004 LIKE coss1-wkg004,&lt;/P&gt;&lt;P&gt;         wkg005 LIKE coss1-wkg005,&lt;/P&gt;&lt;P&gt;         wkg007 LIKE coss1-wkg007,&lt;/P&gt;&lt;P&gt;         wkg008 LIKE coss1-wkg008,&lt;/P&gt;&lt;P&gt;         wkg009 LIKE coss1-wkg009,&lt;/P&gt;&lt;P&gt;         wkg010 LIKE coss1-wkg010,&lt;/P&gt;&lt;P&gt;         wkg011 LIKE coss1-wkg011,&lt;/P&gt;&lt;P&gt;         wkg012 LIKE coss1-wkg012,&lt;/P&gt;&lt;P&gt;         wkg013 LIKE coss1-wkg013,&lt;/P&gt;&lt;P&gt;         wkg014 LIKE coss1-wkg014,&lt;/P&gt;&lt;P&gt;         wkg015 LIKE coss1-wkg015,&lt;/P&gt;&lt;P&gt;         wkg016 LIKE coss1-wkg016,&lt;/P&gt;&lt;P&gt;         beltp  LIKE coss1-beltp,&lt;/P&gt;&lt;P&gt;      END OF t_coss1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Tabla interna con los Object Numbers&lt;/P&gt;&lt;P&gt;      BEGIN OF t_onr00,&lt;/P&gt;&lt;P&gt;         posid LIKE prps_r-posid,&lt;/P&gt;&lt;P&gt;         objnr LIKE onr00-objnr,&lt;/P&gt;&lt;P&gt;      END OF t_onr00,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Summarization Table for Project Reporting&lt;/P&gt;&lt;P&gt;      BEGIN OF t_rpsco1,&lt;/P&gt;&lt;P&gt;         psphi LIKE prps_r-psphi,&lt;/P&gt;&lt;P&gt;         objnr LIKE rpsco1-objnr, "número de objeto&lt;/P&gt;&lt;P&gt;         poski LIKE prps_r-poski,&lt;/P&gt;&lt;P&gt;         posid LIKE prps_r-posid,&lt;/P&gt;&lt;P&gt;         lednr LIKE rpsco1-lednr,&lt;/P&gt;&lt;P&gt;         wrttp LIKE rpsco1-wrttp,&lt;/P&gt;&lt;P&gt;         trgkz LIKE rpsco1-trgkz,&lt;/P&gt;&lt;P&gt;         gjahr LIKE rpsco1-gjahr,&lt;/P&gt;&lt;P&gt;         acpos LIKE rpsco1-acpos,  "Categoría de valor&lt;/P&gt;&lt;P&gt;         vorga LIKE rpsco1-vorga,  "Clase presupuesto presupuestación/planificación&lt;/P&gt;&lt;P&gt;         versn LIKE rpsco1-versn,&lt;/P&gt;&lt;P&gt;         abkat LIKE rpsco1-abkat,&lt;/P&gt;&lt;P&gt;         geber LIKE rpsco1-geber,&lt;/P&gt;&lt;P&gt;         twaer LIKE rpsco1-twaer,  "moneda de transacción&lt;/P&gt;&lt;P&gt;         perbl LIKE rpsco1-perbl,&lt;/P&gt;&lt;P&gt;         beltp LIKE rpsco1-beltp,&lt;/P&gt;&lt;P&gt;         wlp00 LIKE rpsco1-wlp00,  "Valor de período en moneda de ledger&lt;/P&gt;&lt;P&gt;         wlp01 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp02 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp03 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp04 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp05 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp06 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp07 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp08 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp09 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp10 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp11 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp12 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp13 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp14 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp15 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wlp16 LIKE rpsco1-wlp00,&lt;/P&gt;&lt;P&gt;         wtp00 LIKE rpsco1-wtp00,  "Valor anual en moneda de transacción&lt;/P&gt;&lt;P&gt;         wtp01 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp02 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp03 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp04 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp05 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp06 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp07 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp08 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp09 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp10 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp11 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp12 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp13 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp14 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp15 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         wtp16 LIKE rpsco1-wtp00,&lt;/P&gt;&lt;P&gt;         poc   LIKE ev_poc-meg007,&lt;/P&gt;&lt;P&gt;         sttxt_int LIKE pstat-sttxt_int, "status del sistema&lt;/P&gt;&lt;P&gt;      END OF t_rpsco1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      BEGIN OF t_pstat,&lt;/P&gt;&lt;P&gt;         objnr      LIKE pstat-objnr,&lt;/P&gt;&lt;P&gt;         sttxt_int  LIKE pstat-sttxt_int,&lt;/P&gt;&lt;P&gt;         sttxt_ext  LIKE pstat-sttxt_ext,&lt;/P&gt;&lt;P&gt;         astex      LIKE pstat-astex,&lt;/P&gt;&lt;P&gt;      END OF t_pstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Parámetros que vienen del programa principal&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_master_data,&lt;/P&gt;&lt;P&gt;         profile             LIKE zfps_params-profile,&lt;/P&gt;&lt;P&gt;         prog_inversiones    LIKE zfps_params-prog_inversiones,&lt;/P&gt;&lt;P&gt;         id_de_posicion      LIKE zfps_params-id_de_posicion,&lt;/P&gt;&lt;P&gt;         a_autoriz           LIKE zfps_params-a_autoriz,&lt;/P&gt;&lt;P&gt;         sign TYPE c,&lt;/P&gt;&lt;P&gt;         option TYPE c LENGTH 2,&lt;/P&gt;&lt;P&gt;      END OF t_master_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_master_data TYPE TABLE OF t_master_data,&lt;/P&gt;&lt;P&gt;      wa_master_data LIKE LINE OF it_master_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: aux_id  TYPE c LENGTH 8,&lt;/P&gt;&lt;P&gt;      aux_id2 TYPE c LENGTH 8,&lt;/P&gt;&lt;P&gt;      aux_pstat_objnr LIKE pstat-objnr,&lt;/P&gt;&lt;P&gt;      awx_sttxt_int   LIKE pstat-sttxt_int.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Internal table declarations&lt;/P&gt;&lt;P&gt;DATA:itcosp1  TYPE  TABLE OF it WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itprps   TYPE  TABLE OF itab WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itproj   TYPE  TABLE OF itpr WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itev_poc TYPE  TABLE OF t_poc WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itdata   TYPE  TABLE OF t_data WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itjerar  TYPE  TABLE OF itab WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itcoss1  TYPE  TABLE OF t_coss1 WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itpstat  TYPE  TABLE OF t_pstat WITH DEFAULT KEY INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;     itrpsco1 TYPE  TABLE OF t_rpsco1,&lt;/P&gt;&lt;P&gt;     itonr00  TYPE  TABLE OF t_onr00,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Work area declarations&lt;/P&gt;&lt;P&gt;     itcosp1_wa   TYPE it,&lt;/P&gt;&lt;P&gt;     itprps_wa    TYPE itab,&lt;/P&gt;&lt;P&gt;     itprps_wa2   TYPE itab,&lt;/P&gt;&lt;P&gt;     itproj_wa    TYPE itpr,&lt;/P&gt;&lt;P&gt;     itev_poc_wa  TYPE t_poc,&lt;/P&gt;&lt;P&gt;     itdata_wa    TYPE t_data,&lt;/P&gt;&lt;P&gt;     itjerar_wa   TYPE itab,&lt;/P&gt;&lt;P&gt;     itcoss1_wa   TYPE t_coss1,&lt;/P&gt;&lt;P&gt;     itrpsco1_wa  LIKE LINE OF itrpsco1,&lt;/P&gt;&lt;P&gt;     itonr00_wa   LIKE LINE OF itonr00,&lt;/P&gt;&lt;P&gt;     itpstat_wa   LIKE LINE OF itpstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;Get data from Logical Database----&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;&lt;P&gt;******&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Llenado de los parámetros que necesita el perfíl&lt;/P&gt;&lt;P&gt;*de la base de datos lógica PSJ.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IMPORT wa_master_data FROM MEMORY ID sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_profd       = wa_master_data-profile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imtp-sign   = wa_master_data-sign.&lt;/P&gt;&lt;P&gt;  cn_imtp-option = wa_master_data-option.&lt;/P&gt;&lt;P&gt;  cn_imtp-low    = wa_master_data-prog_inversiones.&lt;/P&gt;&lt;P&gt;  APPEND cn_imtp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cn_imprp   = wa_master_data-id_de_posicion.&lt;/P&gt;&lt;P&gt;  cn_imtpj   = wa_master_data-a_autoriz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*Inicio de lógica para extraer la data de proyectos&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;GET pstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itpstat_wa-objnr      = pstat-objnr.&lt;/P&gt;&lt;P&gt;  itpstat_wa-sttxt_int  = pstat-sttxt_int.&lt;/P&gt;&lt;P&gt;  itpstat_wa-sttxt_ext  = pstat-sttxt_ext.&lt;/P&gt;&lt;P&gt;  itpstat_wa-astex      = pstat-astex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itpstat_wa TO itpstat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET proj.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PROJ', proj-pspid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET proj LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PROJ LATE', proj-pspid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET prps_r.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itprps_wa-poski  = prps_r-poski.&lt;/P&gt;&lt;P&gt;  itprps_wa-objnr  = prps_r-objnr.&lt;/P&gt;&lt;P&gt;  itprps_wa-posid  = prps_r-posid.&lt;/P&gt;&lt;P&gt;  itprps_wa-post1  = prps_r-post1.&lt;/P&gt;&lt;P&gt;  itprps_wa-psphi  = prps_r-psphi.&lt;/P&gt;&lt;P&gt;  itprps_wa-stufe  = prps_r-stufe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itprps_wa TO itprps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itjerar_wa-poski  = prps_r-poski.&lt;/P&gt;&lt;P&gt;  itjerar_wa-objnr  = prps_r-objnr.&lt;/P&gt;&lt;P&gt;  itjerar_wa-posid  = prps_r-posid.&lt;/P&gt;&lt;P&gt;  itjerar_wa-post1  = prps_r-post1.&lt;/P&gt;&lt;P&gt;  itjerar_wa-psphi  = prps_r-psphi.&lt;/P&gt;&lt;P&gt;  itjerar_wa-stufe  = prps_r-stufe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itjerar_wa TO itjerar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PRPS', prps_r-posid, prps_r-post1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET prps_r LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PRPS LATE', prps_r-posid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pstx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PSTX', pstx-pstxtky.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET pstx LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'PSTX LATE', pstx-pstxtky.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET aufk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'AUFK', aufk-aufnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET aufk LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'AUFK LATE', aufk-aufnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET act01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'ACT01', act01-aufpl, act01-aplzl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET act01 LATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE: / 'ACT01 LATE', act01-aufpl, act01-aplzl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;GET impr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:/ 'IMPR', impr-posid, impr-prnam, impr-parnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdypd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdypr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdynp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET psdynv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET onr00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itonr00_wa-posid = prps_r-posid.&lt;/P&gt;&lt;P&gt;  itonr00_wa-objnr = onr00-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itonr00_wa TO itonr00.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET rpsco1.&lt;/P&gt;&lt;P&gt;*-De aquí obtenemos el presupuesto, real, comprometido por proyecto&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-objnr = rpsco1-objnr. "número de objeto&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-psphi = prps_r-psphi. "Número actual del proyecto correspondiente&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-posid = prps_r-posid. "(elemento PEP)&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-poski = prps_r-poski.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-lednr = rpsco1-lednr.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wrttp = rpsco1-wrttp.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-trgkz = rpsco1-trgkz.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-gjahr = rpsco1-gjahr.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-acpos = rpsco1-acpos.  "Categoría de valor&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-vorga = rpsco1-vorga.  "Clase presupuesto presupuestación/planificación&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-versn = rpsco1-versn.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-abkat = rpsco1-abkat.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-geber = rpsco1-geber.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-twaer = rpsco1-twaer.  "moneda de transacción&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-perbl = rpsco1-perbl.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-beltp = rpsco1-beltp.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp00 = rpsco1-wlp00.  "Valor de período en moneda de ledger&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp01 = rpsco1-wlp01.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp02 = rpsco1-wlp02.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp03 = rpsco1-wlp03.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp04 = rpsco1-wlp04.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp05 = rpsco1-wlp05.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp06 = rpsco1-wlp06.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp07 = rpsco1-wlp07.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp08 = rpsco1-wlp08.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp09 = rpsco1-wlp09.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp10 = rpsco1-wlp10.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp11 = rpsco1-wlp11.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp12 = rpsco1-wlp12.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp13 = rpsco1-wlp13.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp14 = rpsco1-wlp14.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp15 = rpsco1-wlp15.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wlp16 = rpsco1-wlp16.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp00 = rpsco1-wtp00.  "Valor anual en moneda de transacción&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp01 = rpsco1-wtp01.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp02 = rpsco1-wtp02.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp03 = rpsco1-wtp03.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp04 = rpsco1-wtp04.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp05 = rpsco1-wtp05.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp06 = rpsco1-wtp06.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp07 = rpsco1-wtp07.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp08 = rpsco1-wtp08.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp09 = rpsco1-wtp09.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp10 = rpsco1-wtp10.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp11 = rpsco1-wtp11.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp12 = rpsco1-wtp12.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp13 = rpsco1-wtp13.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp14 = rpsco1-wtp14.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp15 = rpsco1-wtp15.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-wtp16 = rpsco1-wtp16.&lt;/P&gt;&lt;P&gt;  itrpsco1_wa-poc   = ev_poc-meg007. "Percent of Completion&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;variables auxiliares que pueden utilizarse en el futuro&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; aux_pstat_objnr = pstat-objnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; awx_sttxt_int   = pstat-sttxt_int.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE itpstat INTO itpstat_wa WITH KEY objnr = itrpsco1_wa-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    itrpsco1_wa-sttxt_int = itpstat_wa-sttxt_int.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    itrpsco1_wa-sttxt_int = 'N/A'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itrpsco1_wa TO itrpsco1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET cosp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itcosp1_wa-objnr  = cosp1-objnr.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wrttp  = cosp1-wrttp.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-kstar  = cosp1-kstar.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-vrgng  = cosp1-vrgng.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg001 = cosp1-wkg001.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg002 = cosp1-wkg002.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg003 = cosp1-wkg003.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg004 = cosp1-wkg004.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg005 = cosp1-wkg005.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg007 = cosp1-wkg007.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg008 = cosp1-wkg008.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg009 = cosp1-wkg009.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg010 = cosp1-wkg010.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg011 = cosp1-wkg011.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg012 = cosp1-wkg012.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg013 = cosp1-wkg013.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg014 = cosp1-wkg014.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg015 = cosp1-wkg015.&lt;/P&gt;&lt;P&gt;  itcosp1_wa-wkg016 = cosp1-wkg016.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itcosp1_wa TO itcosp1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET coss1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itcoss1_wa-objnr  = coss1-objnr.  "Object number&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wrttp  = coss1-wrttp.  "Tipo de valor&lt;/P&gt;&lt;P&gt;  itcoss1_wa-versn  = coss1-versn.  "Versión&lt;/P&gt;&lt;P&gt;  itcoss1_wa-kstar  = coss1-kstar.  "Cost Element&lt;/P&gt;&lt;P&gt;  itcoss1_wa-vrgng  = coss1-vrgng.  "CO Business Transaction&lt;/P&gt;&lt;P&gt;  itcoss1_wa-twaer  = coss1-twaer.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-perbl  = coss1-perbl.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg001 = coss1-wkg001. "Total Value in Controlling Area Currency&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg002 = coss1-wkg002.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg003 = coss1-wkg003.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg004 = coss1-wkg004.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg005 = coss1-wkg005.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg007 = coss1-wkg007.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg008 = coss1-wkg008.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg009 = coss1-wkg009.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg010 = coss1-wkg010.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg011 = coss1-wkg011.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg012 = coss1-wkg012.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg013 = coss1-wkg013.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg014 = coss1-wkg014.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg015 = coss1-wkg015.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-wkg016 = coss1-wkg016.&lt;/P&gt;&lt;P&gt;  itcoss1_wa-beltp  = coss1-beltp.  "Tipo de cargo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itcoss1_wa TO itcoss1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GET ev_poc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  itev_poc_wa-objnr    = ev_poc-objnr.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-meg007   = ev_poc-meg007.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-wrttp    = ev_poc-wrttp.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-acpos    = ev_poc-acpos.&lt;/P&gt;&lt;P&gt;  itev_poc_wa-proyecto = prps_r-poski.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND itev_poc_wa TO itev_poc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Inicio lógica principal&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT itprps INTO itprps_wa WHERE stufe = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR itcosp1_wa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT itcosp1 BY objnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---Busca todos los niveles de la jerarquía para un proyecto específico&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM llena_jerarquia.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Obtener montos del proyecto&lt;/P&gt;&lt;P&gt;  CLEAR: presupuesto, real, comprometido, poc,&lt;/P&gt;&lt;P&gt;         contador1, contador2, contador3.&lt;/P&gt;&lt;P&gt;  CLEAR: itdata_wa.&lt;/P&gt;&lt;P&gt;  SORT itrpsco1 BY psphi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itrpsco1 INTO itrpsco1_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    aux_cod_proj       = itrpsco1_wa-poski+0(10).&lt;/P&gt;&lt;P&gt;    itdata_wa-cod_proj = aux_cod_proj.&lt;/P&gt;&lt;P&gt;    aux_objnr          = itrpsco1_wa-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW psphi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;  validar cierre del sistema no es "CERR"&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    este chequeo puede ser utilizado en el futuro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     check itrpsco1_wa-sttxt_int+0(4) &amp;lt;&amp;gt; 'CERR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: presupuesto, real, comprometido, poc,&lt;/P&gt;&lt;P&gt;      contador1, contador2, contador3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      REPLACE ALL OCCURRENCES OF '-' IN itdata_wa-cod_proj WITH ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT post1 FROM prps INTO itdata_wa-descrip&lt;/P&gt;&lt;P&gt;               WHERE posid = itdata_wa-cod_proj.&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Poner el valor original al código del proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      itdata_wa-cod_proj = aux_cod_proj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Buscar Porciento de Completación&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE itev_poc INTO itev_poc_wa WITH KEY&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         objnr = aux_objnr&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          proyecto = aux_cod_proj&lt;/P&gt;&lt;P&gt;          wrttp = 'P2'&lt;/P&gt;&lt;P&gt;          acpos = 'PROGRESO2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        itdata_wa-poc =  itev_poc_wa-meg007.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        itdata_wa-poc = 0.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Accede la tabla interna itrpsco1 y busca el presupuesto del&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF itrpsco1_wa-versn = '000'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-lednr = '0001'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-wrttp = '41'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-trgkz = 'P'&lt;/P&gt;&lt;P&gt;               AND itrpsco1_wa-beltp = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sumarizar las columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR contador1.&lt;/P&gt;&lt;P&gt;      contador1 = '00'.&lt;/P&gt;&lt;P&gt;      AT NEW psphi.&lt;/P&gt;&lt;P&gt;        CLEAR presupuesto.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHILE contador1 .&lt;/P&gt;&lt;P&gt;        contador1 = contador1 + 1.&lt;/P&gt;&lt;P&gt;      ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT END OF psphi.&lt;/P&gt;&lt;P&gt;        itdata_wa-presupuesto = presupuesto.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*--Nota:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Este valor de Presupuesto sumarizado lo podemos obtener de las tablas:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; BPEG1 y BPJA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Rutina que extrae la inversión real del proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*clave busqueda para REAL en tabla RPSCO1				&lt;/P&gt;&lt;P&gt;*LEDNR	WRTTP	TRGKZ	VERSN	BELTP&lt;/P&gt;&lt;P&gt;*1	4	P	0	1&lt;/P&gt;&lt;P&gt;*	11	1-9		&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    IF itrpsco1_wa-versn = '000'&lt;/P&gt;&lt;P&gt;                      AND itrpsco1_wa-lednr = '0001'&lt;/P&gt;&lt;P&gt;                      AND ( itrpsco1_wa-wrttp = '04' OR itrpsco1_wa-wrttp = '11')&lt;/P&gt;&lt;P&gt;                      AND ( itrpsco1_wa-trgkz BETWEEN '1' AND '9' OR itrpsco1_wa-trgkz = 'P')&lt;/P&gt;&lt;P&gt;                      AND itrpsco1_wa-beltp = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sumarizar las columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR contador2.&lt;/P&gt;&lt;P&gt;      contador2 = '00'.&lt;/P&gt;&lt;P&gt;      AT NEW psphi.&lt;/P&gt;&lt;P&gt;        CLEAR real.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHILE contador2 .&lt;/P&gt;&lt;P&gt;        contador2 = contador2 + 1.&lt;/P&gt;&lt;P&gt;      ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT END OF psphi.&lt;/P&gt;&lt;P&gt;        itdata_wa-inv_real = real.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Rutina que extrae la inversión real del proyecto&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*clave busqueda para COMPROMETIDO en tabla RPSCO1				&lt;/P&gt;&lt;P&gt;*LEDNR	WRTTP	       TRGKZ	VERSN	BELTP&lt;/P&gt;&lt;P&gt;*1	21-24, 26	P	0	1&lt;/P&gt;&lt;P&gt;*	5A,58	1-9		&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF itrpsco1_wa-versn = '000'&lt;/P&gt;&lt;P&gt;                     AND itrpsco1_wa-lednr = '0001'&lt;/P&gt;&lt;P&gt;                     AND ( itrpsco1_wa-wrttp BETWEEN '21' AND '24' OR&lt;/P&gt;&lt;P&gt;                           itrpsco1_wa-wrttp = '26' OR itrpsco1_wa-wrttp = '5A' OR&lt;/P&gt;&lt;P&gt;                           itrpsco1_wa-wrttp BETWEEN '54' AND '58')&lt;/P&gt;&lt;P&gt;                     AND ( itrpsco1_wa-trgkz BETWEEN '1' AND '9' OR itrpsco1_wa-trgkz = 'P')&lt;/P&gt;&lt;P&gt;                     AND itrpsco1_wa-beltp = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Sumarizar las columnas&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR contador3.&lt;/P&gt;&lt;P&gt;      contador3 = '00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT NEW psphi.&lt;/P&gt;&lt;P&gt;        CLEAR comprometido.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHILE contador3 .&lt;/P&gt;&lt;P&gt;        contador3 = contador3 + 1.&lt;/P&gt;&lt;P&gt;      ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      AT END OF psphi.&lt;/P&gt;&lt;P&gt;        itdata_wa-comprometido = comprometido.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF psphi.&lt;/P&gt;&lt;P&gt;      itdata_wa-inv_real     = real.&lt;/P&gt;&lt;P&gt;      itdata_wa-comprometido = comprometido.&lt;/P&gt;&lt;P&gt;      itdata_wa-dispuesto    = real + comprometido.&lt;/P&gt;&lt;P&gt;      itdata_wa-disponible   = presupuesto - itdata_wa-dispuesto.&lt;/P&gt;&lt;P&gt;      itdata_wa-presupuesto  = presupuesto.&lt;/P&gt;&lt;P&gt;      APPEND itdata_wa TO itdata.&lt;/P&gt;&lt;P&gt;      CLEAR itdata_wa.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT itcosp1 INTO itcosp1_wa WHERE objnr IN st_object.  "r_jerar.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**----- Buscar monto real y comprometido&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     PERFORM sumarizar_datos.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**---impresión de la data "TEST"&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR itdata_wa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT itdata INTO itdata_wa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / 'Proyecto: ', itdata_wa-cod_proj,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         'Descripción: ', itdata_wa-descrip,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         'POC: ', itdata_wa-poc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Presupuesto: ', itdata_wa-presupuesto,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Real: ', itdata_wa-inv_real,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Comprometido: ', itdata_wa-comprometido,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Dispuesto: ', itdata_wa-dispuesto,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       / 'Disponible: ', itdata_wa-disponible.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SKIP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE sy-uname&lt;EM&gt;2(4) sy-uzeit&lt;/EM&gt;2(4) INTO aux_id2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EXPORT itdata FROM itdata TO MEMORY ID sy-uname+2(5).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  sumarizar_datos&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM sumarizar_datos .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Anteriormente lo usé para buscar el presupuesto de un proyecto&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF itcosp1_wa-vrgng = 'RKP1'.                     "RKP1 = Presupuestado en tabla COSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR contador.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   contador = '01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DO 16 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'itcosp1_wa-wkg0' contador INTO vmes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN (vmes) TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     presupuesto = presupuesto  + &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     contador = contador + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**--Buscar real del proyecto&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF itcosp1_wa-vrgng = 'COIN' OR itcosp1_wa-vrgng = 'COIE'.  "COIN = real en tabla COSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR contador.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   contador = '01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DO 16 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'itcosp1_wa-wkg0' contador INTO vmes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN (vmes) TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     real = real  + &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     contador = contador + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**--Buscar comprometido del proyecto&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSEIF itcosp1_wa-vrgng = 'RMBE' OR itcosp1_wa-vrgng = 'RMBA'.  "RMBE = comprometido en tabla COSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR contador.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   contador = '01'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DO 16 TIMES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE 'itcosp1_wa-wkg0' contador INTO vmes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN (vmes) TO &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     comprometido = comprometido  + &amp;lt;f&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     contador = contador + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " sumarizar_datos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  llena_jerarquia&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Carga la jerarquía completa para un proyecto específico&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM llena_jerarquia .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR itprps_wa2. REFRESH r_jerar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itprps INTO itprps_wa2 WHERE psphi = itprps_wa-psphi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    r_jerar-sign   = 'I'.&lt;/P&gt;&lt;P&gt;    r_jerar-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    r_jerar-low    = itprps_wa2-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND r_jerar.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itonr00 INTO itonr00_wa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    st_object-sign   = 'I'.&lt;/P&gt;&lt;P&gt;    st_object-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    st_object-low    = itonr00_wa-objnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND st_object.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " llena_jerarquia&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Feb 2006 15:03:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166263#M121818</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-21T15:03:37Z</dc:date>
    </item>
    <item>
      <title>Re: PS data extraction using LDB PSJ</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166264#M121819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Charli,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm doing some preliminary research on the cash extractors (for BW) 0PS_CSH_WBS and 0PS_CSH_NWA.  My main questions are what modules I need turned on to use these extractors and if they're not available to me how can i go about getting the information provided by the extractors into BW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I came across your post and I think it could be helpful to me down the road.  Since we're working in two different areas could you explain to me what you mean by working with just the logical database PSJ?  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 May 2006 15:25:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166264#M121819</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-17T15:25:37Z</dc:date>
    </item>
    <item>
      <title>Re: PS data extraction using LDB PSJ</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166265#M121820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Christopher,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your Question:&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;could you explain to me what you mean by working with just the logical database PSJ?&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Response: The PSJ logical database is intended to work for data extraction from the Project System module. You can go to SE36 transaction and put PSJ and visualize the structure of this Logical Database. It's enormous but you have the documentation available. Just select the documentation radio button on transaction SE36 and write PSJ and click visualize. If you want to extract WBS, project information or any other data related to projects this LDB will help you a lot.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 May 2006 20:22:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ps-data-extraction-using-ldb-psj/m-p/1166265#M121820</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-17T20:22:57Z</dc:date>
    </item>
  </channel>
</rss>

