Cerca nel blog

martedì 5 luglio 2016

ABAP: Verifica che la RdA (Richiesta di Acquisto) sia rilasciata

Verifica che la  RdA (Richiesta di Acquisto)  

sia rilasciata

Da codice Abap per verificare se la Rda è stata rilasciata (quindi è arrivata all’ultima fase della strategia di rilascio) usare il FM BAPI_REQUISITION_GETRELINFO


 DATAlt_gen_release    TYPE STANDARD TABLE OF bapirlgnrq,
       lt_release_posted 
TYPE STANDARD TABLE OF bapirlcorq,
       lt_release_final  
TYPE STANDARD TABLE OF bapirlcorq,
       lt_relcode_final  
TYPE STANDARD TABLE OF relcode1,
       lt_relcode_posted 
TYPE STANDARD TABLE OF relcode1,
       ls_relcode_final  
TYPE relcode1,
       ls_relcode_posted 
TYPE relcode1,
       lt_rda_rilasciata 
TYPE c LENGTH 1.

 
FIELD-SYMBOLS<lfs_release_posted> TYPE bapirlcorq,
                <lfs_release_final>  
TYPE bapirlcorq.

  CLEARlt_gen_releaselt_release_postedlt_release_final.
       
REFRESHlt_gen_releaselt_release_postedlt_release_final.
       lt_rda_rilasciata 
'N'"Rda non rilasciata

* Verificare che la Rda sia rilasciata
       
CALL FUNCTION 'BAPI_REQUISITION_GETRELINFO'
         
EXPORTING
           
number                 banfn Nr. Rda
         TABLES
           general_release_info   
lt_gen_release
           release_already_posted 
lt_release_posted
           release_final          
lt_release_final.

       
IF NOT lt_release_posted IS INITIAL AND
          
NOT lt_release_final IS INITIAL.

         UNASSIGN <lfs_release_posted>
.
         
READ TABLE lt_release_posted ASSIGNING <lfs_release_posted> INDEX 1.

         UNASSIGN <lfs_release_final>
.
         
READ TABLE lt_release_final ASSIGNING <lfs_release_final> INDEX 1.

         IF <lfs_release_final> IS ASSIGNED AND
            <lfs_release_posted> 
IS ASSIGNED.

           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code1.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code2.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code3.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code4.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code5.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code6.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
CLEARls_relcode_final.
           ls_relcode_final 
<lfs_release_posted>-rel_code7.
           
APPEND ls_relcode_final TO lt_relcode_final.
           
SORT lt_relcode_final.

           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code1.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code2.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code3.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code4.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code5.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code6.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
CLEARls_relcode_posted.
           ls_relcode_posted 
<lfs_release_final>-rel_code7.
           
APPEND ls_relcode_posted TO lt_relcode_posted.
           
SORT lt_relcode_posted.

           
IF lt_relcode_final[] lt_relcode_posted[].
             lt_rda_rilasciata 
'S'"Rda RILASCIATA
           
ENDIF.
         ENDIF.

       
ENDIF.

Nessun commento:

Posta un commento