Вот код программы: loop at strukt_detal where debet ne 'Z9999999' and zzclsacc ne 'Z9999999'. " OR DEBET NE 'Z9999999'. call function 'ZFI_GET_SRC4CO' здесь иет обращение к bseg exporting bukrs = b_edin belnr = strukt_detal-refbn gjahr = z_data(4) orgvg = strukt_detal-orgvg kstar = strukt_detal-kstar awtyp = strukt_detal-awtyp importing mwskz = bseg-mwskz xref3 = bseg-xref3. call function 'TH_REDISPATCH'. if bseg-mwskz is initial and strukt_detal-intreno(2) = 'IM'. select single * from bseg where intreno = strukt_detal-intreno and bukrs = b_edin and gjahr = z_data(4). endif.
if bseg-xref3 is initial and strukt_detal-gkont(1) = 'Z' and strukt_detal-intreno(2) = 'IM'.
select r~partner b~mc_name1 * INTO bseg-xref3
into (bseg-xref3,lfa1-name1) from vibdro as a inner join vibdobjass as c on a~objnr = c~objnrtrg inner join vicncn as v on v~objnr = c~objnrsrc
inner join vibpobjrel as r on v~intreno = r~intreno
inner join but000 as b on r~partner eq b~partner
where a~intreno = strukt_detal-intreno and v~recnbeg le strukt_detal-budat and v~recnendabs ge strukt_detal-budat and r~role in ('TR0600','TR0602'). endselect.
endif.
clear: kod, lv_objtype. if strukt_detal-objtype = 'IB' or strukt_detal-objtype = 'IG' or strukt_detal-objtype = 'IM'. concatenate strukt_detal-objtype strukt_detal-objnr into lv_objnr. select single imkey from vicaintreno into kod where objnr = lv_objnr.
strukt_detal-objnr = ''. endif. write:pole,'|', strukt_detal-objtype, ' |', * WRITE: strukt_detal-imkey, '|', strukt_detal-objtype, '|', *================================ bseg-xref3(10), '|', lfa1-name1, '|', strukt_detal-bldat, '|', strukt_detal-budat, '|'.
newsum = newsum + strukt_detal-wkgbtr. hide: strukt_detal-gsber,strukt_detal-wkgbtr. clear: bseg, skat, lfa1. clear pole. код функции: где идет оращение к ВSEG DATA: gbelnr TYPE belnr_d , awkey TYPE awkey , aworg TYPE aworg . CLEAR: aufnr, mwskz, ktext. IF awtyp EQ 'AMBU' AND orgvg EQ 'RFBU'. CONCATENATE belnr bukrs gjahr INTO awkey. SELECT SINGLE belnr INTO gbelnr FROM bkpf WHERE awtyp EQ awtyp AND awkey EQ awkey. IF sy-subrc EQ 0. SELECT SINGLE aufnr mwskz xref3 FROM bseg INTO (aufnr, mwskz, xref3) WHERE belnr = gbelnr AND bukrs = bukrs AND gjahr = gjahr AND hkont = kstar. endif. elseif awtyp EQ 'REACI'. select SINGLE aworg into aworg from cobk where refbn = belnr and blart = 'SA' and refbk = bukrs and gjahr = gjahr. concatenate belnr aworg into awkey. SELECT SINGLE belnr INTO gbelnr FROM bkpf WHERE awtyp EQ 'REACI' AND awkey EQ awkey. IF sy-subrc EQ 0. SELECT SINGLE aufnr mwskz xref3 FROM bseg INTO (aufnr, mwskz, xref3) WHERE belnr = gbelnr AND bukrs = bukrs AND gjahr = gjahr AND hkont = kstar. endif.
ELSEif awtyp ne 'REACI' and awtyp ne 'AMBU' . CASE orgvg. WHEN 'RMRP'. CONCATENATE belnr gjahr INTO awkey. SELECT SINGLE belnr INTO gbelnr FROM bkpf WHERE awtyp EQ 'RMRP' AND awkey EQ awkey. IF sy-subrc EQ 0. SELECT SINGLE aufnr mwskz xref3 FROM bseg INTO (aufnr, mwskz, xref3) WHERE belnr = gbelnr AND bukrs = bukrs AND gjahr = gjahr AND hkont = kstar . ENDIF. WHEN 'SD00'. SELECT SINGLE belnr INTO gbelnr FROM bkpf WHERE awtyp EQ 'VBRK' AND awkey EQ belnr. IF sy-subrc EQ 0. SELECT SINGLE aufnr mwskz xref3 FROM bseg INTO (aufnr, mwskz, xref3) WHERE belnr = gbelnr AND bukrs = bukrs AND gjahr = gjahr AND hkont = kstar . ENDIF. WHEN OTHERS. SELECT SINGLE aufnr mwskz xref3 FROM bseg INTO (aufnr, mwskz, xref3) WHERE belnr = belnr AND bukrs = bukrs AND gjahr = gjahr AND hkont = kstar .
ENDCASE. ENDIF. IF NOT aufnr IS INITIAL. SELECT SINGLE ktext FROM aufk INTO ktext WHERE aufnr = aufnr. ENDIF.
ENDFUNCTION. modify strukt_detal. endloop.
|
|