FAA_UPA_MIG_DI_DOCIT_CMPR01

DDL: FAA_UPA_MIG_DI_DOCIT_CMPR01 Type: view_entity

Compare DOC_IT layer 1

FAA_UPA_MIG_DI_DOCIT_CMPR01 is a CDS View that provides data about "Compare DOC_IT layer 1" in SAP S/4HANA. It reads from 2 data sources (acdoca, FAA_CFG_DEPR_AREA) and exposes 168 fields with key fields bukrs, anln1, anln2, gjahr, awtyp.

Data Sources (2)

SourceAliasJoin Type
acdoca acdoca left_outer
FAA_CFG_DEPR_AREA cfg_depr_area inner

Annotations (6)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Compare DOC_IT layer 1 view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view

Fields (168)

KeyFieldSource TableSource FieldDescription
KEY bukrs doc_it bukrs
KEY anln1 doc_it anln1
KEY anln2 doc_it anln2
KEY gjahr doc_it gjahr
KEY awtyp doc_it awtyp
KEY awref doc_it awref
KEY aworg doc_it aworg
KEY awsys doc_it awsys
KEY subta doc_it subta
KEY afabe doc_it afabe
KEY slalittype doc_it slalittype
KEY drcrk doc_it drcrk
KEY rldnr
KEY belnr acdoca belnr
KEY docln acdoca docln
s_anlkl doc_it anlkl
t_anlkl acdoca anlkl
s_awitem doc_it awitem
t_awitem acdoca awitem
awitemthenXelseendasawitem_d
s_vorgn doc_it vorgn
t_vorgn acdoca vorgn
vorgnthenXelseendasvorgn_d
s_budat doc_it budat
t_budat acdoca budat
budatthenXelseendasbudat_d
s_bzdat doc_it bzdat
t_bzdat acdoca bzdat
bzdatthenXelseendasbzdat_d
s_poper doc_it poper
t_poper acdoca poper
poperthenXelseendaspoper_d
s_bwasl doc_it bwasl
t_bwasl
anbwathenXelseendasbwasl_d
s_movcat doc_it movcat
t_movcat acdoca movcat
movcatthenXelseendasmovcat_d
s_hsl doc_it hsl
t_hsl acdoca hsl
hslthenXelseendashsl_d
s_ksl doc_it ksl
t_ksl acdoca ksl
kslthenXelseendasksl_d
s_osl doc_it osl
t_osl acdoca osl
oslthenXelseendasosl_d
s_vsl doc_it vsl
t_vsl acdoca vsl
vslthenXelseendasvsl_d
s_bsl doc_it bsl
t_bsl acdoca bsl
bslthenXelseendasbsl_d
s_csl doc_it csl
t_csl acdoca csl
cslthenXelseendascsl_d
s_dsl doc_it dsl
t_dsl acdoca dsl
dslthenXelseendasdsl_d
s_esl doc_it esl
t_esl acdoca esl
eslthenXelseendasesl_d
s_fsl doc_it fsl
t_fsl acdoca fsl
fslthenXelseendasfsl_d
s_gsl doc_it gsl
t_gsl acdoca gsl
gslthenXelseendasgsl_d
s_rhcur doc_it rhcur
t_rhcur acdoca rhcur
rhcurthenXelseendasrhcur_d
s_rkcur doc_it rkcur
t_rkcur acdoca rkcur
rkcurthenXelseendasrkcur_d
s_rocur doc_it rocur
t_rocur acdoca rocur
rocurthenXelseendasrocur_d
s_rvcur doc_it rvcur
t_rvcur acdoca rvcur
rvcurthenXelseendasrvcur_d
s_rbcur doc_it rbcur
t_rbcur acdoca rbcur
rbcurthenXelseendasrbcur_d
s_rccur doc_it rccur
t_rccur acdoca rccur
rccurthenXelseendasrccur_d
s_rdcur doc_it rdcur
t_rdcur acdoca rdcur
rdcurthenXelseendasrdcur_d
s_recur doc_it recur
t_recur acdoca recur
recurthenXelseendasrecur_d
s_rfcur doc_it rfcur
t_rfcur acdoca rfcur
rfcurthenXelseendasrfcur_d
s_rgcur doc_it rgcur
t_rgcur acdoca rgcur
rgcurthenXelseendasrgcur_d
s_rfccur
t_rfccur acdoca rfccur
rfccurisinitialthenXelseendasrfccur_d
s_xreversing doc_it xreversing
t_xreversing acdoca xreversing
xreversingthenXelseendasxreversing_d
s_xreversed doc_it xreversed
t_xreversed acdoca xreversed
xreversedthenXelseendasxreversed_d
s_xsettling doc_it xsettling
t_xsettling acdoca xsettling
xsettlingthenXelseendasxsettling_d
s_xsettled doc_it xsettled
t_xsettled acdoca xsettled
xsettledthenXelseendasxsettled_d
s_prec_awtyp doc_it prec_awtyp
t_prec_awtyp acdoca prec_awtyp
prec_awtypthenXelseendasprec_awtyp_d
s_prec_aworg doc_it prec_aworg
t_prec_aworg acdoca prec_aworg
prec_aworgthenXelseendasprec_aworg_d
s_prec_awref doc_it prec_awref
t_prec_awref acdoca prec_awref
prec_awrefthenXelseendasprec_awref_d
s_prec_subta doc_it prec_subta
t_prec_subta acdoca prec_subta
prec_subtathenXelseendasprec_subta_d
s_awtyp_rev doc_it awtyp_rev
t_awtyp_rev acdoca awtyp_rev
awtyp_revthenXelseendasawtyp_rev_d
s_awref_rev doc_it awref_rev
t_awref_rev acdoca awref_rev
awref_revthenXelseendasawref_rev_d
s_aworg_rev doc_it aworg_rev
t_aworg_rev acdoca aworg_rev
aworg_revthenXelseendasaworg_rev_d
s_subta_rev doc_it subta_rev
t_subta_rev acdoca subta_rev
subta_revthenXelseendassubta_rev_d
s_panl1 doc_it panl1
t_panl1 acdoca panl1
panl1thenXelseendaspanl1_d
s_panl2 doc_it panl2
t_panl2 acdoca panl2
panl2thenXelseendaspanl2_d
s_mig_source doc_it mig_source
t_mig_source acdoca mig_source
mig_sourceRthenelseXendasmig_source_d
s_recid doc_it recid
t_recid acdoca recid
recidthenXelseendasrecid_d
t_bldat acdoca bldat
bldatthenXelseendasbldat_d
t_sgtxt acdoca sgtxt
sgtxtthenXelseendassgtxt_d
t_zuonr acdoca zuonr
zuonrthenXelseendaszuonr_d
parob1thenXelseendasobart_d
parob1thenXelseendasobjid_d
t_ubzdt_pn acdoca ubzdt_pn
ubzdt_pnthenXelseendasubzdt_pn_d
t_xvabg_pn acdoca xvabg_pn
xvabg_pnthenXelseendasxvabg_pn_d
t_prozs_pn acdoca prozs_pn
prozs_pnthenXelseendasprozs_pn_d
anlkl doc_it anlkl
movcat doc_it movcat
bwasl doc_it bwasl
vorgn doc_it vorgn
sdm_status doc_it sdm_status
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Compare DOC_IT layer 1'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #X,
  sizeCategory: #S,
  dataClass: #MIXED
}
define view entity FAA_UPA_MIG_DI_DOCIT_CMPR01
  as select distinct from  faat_doc_it       as doc_it
    inner join             FAA_CFG_DEPR_AREA as cfg_depr_area on  doc_it.bukrs              =  cfg_depr_area.comp_code
                                                              and doc_it.afabe              =  cfg_depr_area.depr_area
                                                              and cfg_depr_area.tech_ledger <> ''
    left outer join        acdoca            as acdoca        on  doc_it.bukrs              =  acdoca.rbukrs
                                                              and doc_it.anln1              =  acdoca.anln1
                                                              and doc_it.anln2              =  acdoca.anln2
                                                              and doc_it.gjahr              =  acdoca.gjahr
                                                              and doc_it.awtyp              =  acdoca.awtyp
                                                              and doc_it.awref              =  acdoca.awref
                                                              and doc_it.aworg              =  acdoca.aworg
                                                              and doc_it.awsys              =  acdoca.awsys
                                                              and doc_it.subta              =  acdoca.subta
                                                              and doc_it.afabe              =  acdoca.afabe
                                                              and doc_it.slalittype         =  acdoca.slalittype
                                                              and doc_it.drcrk              =  acdoca.drcrk
                                                              and cfg_depr_area.tech_ledger =  acdoca.rldnr
                                                              and acdoca.awtyp              <> 'AMDP'
                                                              and acdoca.mig_source         =  'A'
    left outer to one join acdoca            as fi_doc        on  doc_it.has_fi_doc = 'X'
                                                              and fi_doc.rldnr      = cfg_depr_area.ledger
                                                              and fi_doc.awtyp      = doc_it.awtyp
                                                              and fi_doc.awref      = doc_it.awref
                                                              and fi_doc.aworg      = doc_it.aworg
                                                              and fi_doc.awsys      = doc_it.awsys
                                                              and fi_doc.rbukrs     = doc_it.bukrs
                                                              and fi_doc.anln1      = doc_it.anln1
                                                              and fi_doc.anln2      = doc_it.anln2
                                                              and fi_doc.gjahr      = doc_it.gjahr
                                                              and fi_doc.subta      = doc_it.subta
                                                              and fi_doc.afabe      = doc_it.afabe_fi_doc
                                                              and fi_doc.movcat     = doc_it.movcat
{
  key doc_it.bukrs,
  key doc_it.anln1,
  key doc_it.anln2,
  key doc_it.gjahr,
  key doc_it.awtyp,
  key doc_it.awref,
  key doc_it.aworg,
  key doc_it.awsys,
  key doc_it.subta,
  key doc_it.afabe,
  key doc_it.slalittype,
  key doc_it.drcrk,
  key cast( acdoca.rldnr as fins_technical_ledger preserving type ) as rldnr,
  key acdoca.belnr,
  key acdoca.docln,
//  Special logic for detials of Aggregation

      doc_it.anlkl                                                  as s_anlkl,
      acdoca.anlkl                                                  as t_anlkl,
      
      doc_it.awitem                                                 as s_awitem,
      acdoca.awitem                                                 as t_awitem,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.awitem <> acdoca.awitem then 'X'
        else ''
      end                                                           as awitem_d,

      doc_it.vorgn                                                  as s_vorgn,
      acdoca.vorgn                                                  as t_vorgn,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.vorgn <> acdoca.vorgn then 'X'
        else ''
      end                                                           as vorgn_d,

      doc_it.budat                                                  as s_budat,
      acdoca.budat                                                  as t_budat,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.budat <> acdoca.budat then 'X'
        else ''
      end                                                           as budat_d,

      doc_it.bzdat                                                  as s_bzdat,
      acdoca.bzdat                                                  as t_bzdat,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.bzdat <> acdoca.bzdat then 'X'
        else ''
      end                                                           as bzdat_d,

      doc_it.poper                                                  as s_poper,
      acdoca.poper                                                  as t_poper,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.movcat <> '00' and doc_it.poper is initial and acdoca.poper is initial then 'X'
        when doc_it.movcat <> '00' and doc_it.poper is not initial and doc_it.poper <> acdoca.poper then 'X'
        when doc_it.movcat = '00' and doc_it.poper <> acdoca.poper then 'X'
        else ''
      end                                                           as poper_d,

      doc_it.bwasl                                                  as s_bwasl,
      cast( acdoca.anbwa as bwasl preserving type )                 as t_bwasl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.bwasl <> acdoca.anbwa then 'X'
        else ''
      end                                                           as bwasl_d,

      doc_it.movcat                                                 as s_movcat,
      acdoca.movcat                                                 as t_movcat,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.movcat <> acdoca.movcat then 'X'
        else ''
      end                                                           as movcat_d,

      @Semantics.amount.currencyCode: 's_rhcur'
      doc_it.hsl                                                    as s_hsl,
      @Semantics.amount.currencyCode: 't_rhcur'
      acdoca.hsl                                                    as t_hsl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.hsl >= 0 and doc_it.hsl <> acdoca.hsl then 'X'
        else ''
      end                                                           as hsl_d,

      @Semantics.amount.currencyCode: 's_rkcur'
      doc_it.ksl                                                    as s_ksl,
      @Semantics.amount.currencyCode: 't_rkcur'
      acdoca.ksl                                                    as t_ksl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.ksl <> acdoca.ksl then 'X'
        else ''
      end                                                           as ksl_d,

      @Semantics.amount.currencyCode: 's_rocur'
      doc_it.osl                                                    as s_osl,
      @Semantics.amount.currencyCode: 't_rocur'
      acdoca.osl                                                    as t_osl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.osl <> acdoca.osl then 'X'
        else ''
      end                                                           as osl_d,

      @Semantics.amount.currencyCode: 's_rvcur'
      doc_it.vsl                                                    as s_vsl,
      @Semantics.amount.currencyCode: 't_rvcur'
      acdoca.vsl                                                    as t_vsl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.vsl <> acdoca.vsl then 'X'
        else ''
      end                                                           as vsl_d,

      @Semantics.amount.currencyCode: 's_rbcur'
      doc_it.bsl                                                    as s_bsl,
      @Semantics.amount.currencyCode: 't_rbcur'
      acdoca.bsl                                                    as t_bsl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.bsl <> acdoca.bsl then 'X'
        else ''
      end                                                           as bsl_d,

      @Semantics.amount.currencyCode: 's_rccur'
      doc_it.csl                                                    as s_csl,
      @Semantics.amount.currencyCode: 't_rccur'
      acdoca.csl                                                    as t_csl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.csl <> acdoca.csl then 'X'
        else ''
      end                                                           as csl_d,

      @Semantics.amount.currencyCode: 's_rdcur'
      doc_it.dsl                                                    as s_dsl,
      @Semantics.amount.currencyCode: 't_rdcur'
      acdoca.dsl                                                    as t_dsl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.dsl <> acdoca.dsl then 'X'
        else ''
      end                                                           as dsl_d,

      @Semantics.amount.currencyCode: 's_recur'
      doc_it.esl                                                    as s_esl,
      @Semantics.amount.currencyCode: 't_recur'
      acdoca.esl                                                    as t_esl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.esl <> acdoca.esl then 'X'
        else ''
      end                                                           as esl_d,

      @Semantics.amount.currencyCode: 's_rfcur'
      doc_it.fsl                                                    as s_fsl,
      @Semantics.amount.currencyCode: 't_rfcur'
      acdoca.fsl                                                    as t_fsl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.fsl <> acdoca.fsl then 'X'
        else ''
      end                                                           as fsl_d,

      @Semantics.amount.currencyCode: 's_rgcur'
      doc_it.gsl                                                    as s_gsl,
      @Semantics.amount.currencyCode: 't_rgcur'
      acdoca.gsl                                                    as t_gsl,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.gsl <> acdoca.gsl then 'X'
        else ''
      end                                                           as gsl_d,

      doc_it.rhcur                                                  as s_rhcur,
      acdoca.rhcur                                                  as t_rhcur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rhcur <> acdoca.rhcur then 'X'
        else ''
      end                                                           as rhcur_d,

      doc_it.rkcur                                                  as s_rkcur,
      acdoca.rkcur                                                  as t_rkcur,
      case
        when acdoca.rkcur is null then 'X'
        when doc_it.rkcur <> acdoca.rkcur then 'X'
        else ''
      end                                                           as rkcur_d,

      doc_it.rocur                                                  as s_rocur,
      acdoca.rocur                                                  as t_rocur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rocur <> acdoca.rocur then 'X'
        else ''
      end                                                           as rocur_d,

      doc_it.rvcur                                                  as s_rvcur,
      acdoca.rvcur                                                  as t_rvcur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rvcur <> acdoca.rvcur then 'X'
        else ''
      end                                                           as rvcur_d,

      doc_it.rbcur                                                  as s_rbcur,
      acdoca.rbcur                                                  as t_rbcur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rbcur <> acdoca.rbcur then 'X'
        else ''
      end                                                           as rbcur_d,

      doc_it.rccur                                                  as s_rccur,
      acdoca.rccur                                                  as t_rccur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rccur <> acdoca.rccur then 'X'
        else ''
      end                                                           as rccur_d,

      doc_it.rdcur                                                  as s_rdcur,
      acdoca.rdcur                                                  as t_rdcur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rdcur <> acdoca.rdcur then 'X'
        else ''
      end                                                           as rdcur_d,

      doc_it.recur                                                  as s_recur,
      acdoca.recur                                                  as t_recur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.recur <> acdoca.recur then 'X'
        else ''
      end                                                           as recur_d,

      doc_it.rfcur                                                  as s_rfcur,
      acdoca.rfcur                                                  as t_rfcur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rfcur <> acdoca.rfcur then 'X'
        else ''
      end                                                           as rfcur_d,

      doc_it.rgcur                                                  as s_rgcur,
      acdoca.rgcur                                                  as t_rgcur,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.rgcur <> acdoca.rgcur then 'X'
        else ''
      end                                                           as rgcur_d,

      cast( '' as fins_currfc )                                     as s_rfccur,
      acdoca.rfccur                                                 as t_rfccur,
      case
        when acdoca.rbukrs is null then 'X'
        when acdoca.rfccur is initial then 'X'
        else ''
      end                                                           as rfccur_d,

      doc_it.xreversing                                             as s_xreversing,
      acdoca.xreversing                                             as t_xreversing,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.xreversing <> acdoca.xreversing then 'X'
        else ''
      end                                                           as xreversing_d,

      doc_it.xreversed                                              as s_xreversed,
      acdoca.xreversed                                              as t_xreversed,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.xreversed <> acdoca.xreversed then 'X'
        else ''
      end                                                           as xreversed_d,

      doc_it.xsettling                                              as s_xsettling,
      acdoca.xsettling                                              as t_xsettling,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.xsettling <> acdoca.xsettling then 'X'
        else ''
      end                                                           as xsettling_d,

      doc_it.xsettled                                               as s_xsettled,
      acdoca.xsettled                                               as t_xsettled,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.xsettled <> acdoca.xsettled then 'X'
        else ''
      end                                                           as xsettled_d,

      doc_it.prec_awtyp                                             as s_prec_awtyp,
      acdoca.prec_awtyp                                             as t_prec_awtyp,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.movcat = '00' and acdoca.prec_awtyp <> '' then 'X'
        when doc_it.movcat <> '00' and doc_it.prec_awtyp <> acdoca.prec_awtyp then 'X'
        else ''
      end                                                           as prec_awtyp_d,

      doc_it.prec_aworg                                             as s_prec_aworg,
      acdoca.prec_aworg                                             as t_prec_aworg,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.prec_aworg <> acdoca.prec_aworg then 'X'
        else ''
      end                                                           as prec_aworg_d,

      doc_it.prec_awref                                             as s_prec_awref,
      acdoca.prec_awref                                             as t_prec_awref,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.prec_awref <> acdoca.prec_awref then 'X'
        else ''
      end                                                           as prec_awref_d,

      doc_it.prec_subta                                             as s_prec_subta,
      acdoca.prec_subta                                             as t_prec_subta,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.prec_subta <> acdoca.prec_subta then 'X'
        else ''
      end                                                           as prec_subta_d,

      doc_it.awtyp_rev                                              as s_awtyp_rev,
      acdoca.awtyp_rev                                              as t_awtyp_rev,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.awtyp_rev <> acdoca.awtyp_rev then 'X'
        else ''
      end                                                           as awtyp_rev_d,

      doc_it.awref_rev                                              as s_awref_rev,
      acdoca.awref_rev                                              as t_awref_rev,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.awref_rev <> acdoca.awref_rev then 'X'
        else ''
      end                                                           as awref_rev_d,

      doc_it.aworg_rev                                              as s_aworg_rev,
      acdoca.aworg_rev                                              as t_aworg_rev,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.aworg_rev <> acdoca.aworg_rev then 'X'
        else ''
      end                                                           as aworg_rev_d,

      doc_it.subta_rev                                              as s_subta_rev,
      acdoca.subta_rev                                              as t_subta_rev,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.subta_rev <> acdoca.subta_rev then 'X'
        else ''
      end                                                           as subta_rev_d,

      //      doc_it.anlkl                                                  as s_anlkl,

      //      acdoca.anlkl                                                  as t_anlkl,

      //      case

      //        when acdoca.rbukrs is null then 'X'

      //        when doc_it.anlkl <> acdoca.anlkl then 'X'

      //        else ''

      //      end                                                           as anlkl_d,


      //      doc_it.ktogr                                                  as s_ktogr,

      //      acdoca.ktogr                                                  as t_ktogr,

      //      case

      //        when acdoca.rbukrs is null then 'X'

      //        when doc_it.ktogr <> acdoca.ktogr then 'X'

      //        else ''

      //      end                                                           as ktogr_d,


      doc_it.panl1                                                  as s_panl1,
      acdoca.panl1                                                  as t_panl1,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.panl1 <> acdoca.panl1 then 'X'
        else ''
      end                                                           as panl1_d,

      doc_it.panl2                                                  as s_panl2,
      acdoca.panl2                                                  as t_panl2,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.panl2 <> acdoca.panl2 then 'X'
        else ''
      end                                                           as panl2_d,

      doc_it.mig_source                                             as s_mig_source,
      acdoca.mig_source                                             as t_mig_source,
      case
        when acdoca.rbukrs is null then 'X'
        when acdoca.mig_source = 'A' then ''
        when acdoca.mig_source = 'R' then ''
        else 'X'
      end                                                           as mig_source_d,

      doc_it.recid                                                  as s_recid,
      acdoca.recid                                                  as t_recid,
      case
        when acdoca.rbukrs is null then 'X'
        when doc_it.recid <> acdoca.recid then 'X'
        else ''
      end                                                           as recid_d,

      case
        when fi_doc.rbukrs is null then doc_it.bldat
        else fi_doc.bldat
      end                                                           as s_bldat,
      acdoca.bldat                                                  as t_bldat,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.bldat <> acdoca.bldat then 'X'
        when fi_doc.rbukrs is not null and fi_doc.bldat <> acdoca.bldat then 'X'
        else ''
      end                                                           as bldat_d,

      case
        when fi_doc.rbukrs is null then doc_it.sgtxt
        else fi_doc.sgtxt
      end                                                           as s_sgtxt,
      acdoca.sgtxt                                                  as t_sgtxt,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.sgtxt <> acdoca.sgtxt then 'X'
        when fi_doc.rbukrs is not null and fi_doc.sgtxt <> acdoca.sgtxt then 'X'
        else ''
      end                                                           as sgtxt_d,

      case
        when fi_doc.rbukrs is null then doc_it.zuonr
        else fi_doc.zuonr
      end                                                           as s_zuonr,
      acdoca.zuonr                                                  as t_zuonr,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.zuonr <> acdoca.zuonr then 'X'
        when fi_doc.rbukrs is not null and fi_doc.zuonr <> acdoca.zuonr then 'X'
        else ''
      end                                                           as zuonr_d,

      case
        when fi_doc.rbukrs is null then doc_it.obart
        when fi_doc.rbukrs is not null and fi_doc.parob1 is initial then doc_it.obart
        else cast( substring(fi_doc.parob1,1,2) as a_obart preserving type )
      end                                                           as s_obart,
      cast( substring(acdoca.parob1,1,2)
            as a_obart preserving type )                            as t_obart,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.obart <> substring(acdoca.parob1,1,2) then 'X'
        when fi_doc.rbukrs is not null and fi_doc.parob1 is initial and doc_it.obart <> substring(acdoca.parob1,1,2) then 'X'
        when fi_doc.rbukrs is not null and fi_doc.parob1 is not initial and fi_doc.parob1 <> acdoca.parob1 then 'X'
        else ''
      end                                                           as obart_d,

      case
        when fi_doc.rbukrs is null then doc_it.objid
        when fi_doc.rbukrs is not null and fi_doc.parob1 is initial then doc_it.objid
        else cast( substring(fi_doc.parob1,3,20) as a_objid preserving type )
      end                                                           as s_objid,
      cast( substring(acdoca.parob1,3,20)
            as a_objid preserving type )                            as t_objid,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.objid <> substring(acdoca.parob1,3,20) then 'X'
        when fi_doc.rbukrs is not null and fi_doc.parob1 is initial and doc_it.objid <> substring(acdoca.parob1,3,20) then 'X'
        when fi_doc.rbukrs is not null and fi_doc.parob1 is not initial and fi_doc.parob1 <> acdoca.parob1 then 'X'
        else ''
      end                                                           as objid_d,

      case
        when fi_doc.rbukrs is null then doc_it.ubzdt_pn
        else fi_doc.ubzdt_pn
      end                                                           as s_ubzdt_pn,
      acdoca.ubzdt_pn                                               as t_ubzdt_pn,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.ubzdt_pn <> acdoca.ubzdt_pn then 'X'
        when fi_doc.rbukrs is not null and fi_doc.ubzdt_pn <> acdoca.ubzdt_pn then 'X'
        else ''
      end                                                           as ubzdt_pn_d,

      case
        when fi_doc.xvabg_pn = 'X' then fi_doc.xvabg_pn
        else doc_it.xvabg_pn
      end                                                           as s_xvabg_pn,
      acdoca.xvabg_pn                                               as t_xvabg_pn,
      case
        when fi_doc.xvabg_pn = 'X' and fi_doc.xvabg_pn <> acdoca.xvabg_pn then 'X'
        when fi_doc.xvabg_pn <> 'X' and doc_it.xvabg_pn <> acdoca.xvabg_pn then 'X'
        else ''
      end                                                           as xvabg_pn_d,

      case
        when fi_doc.rbukrs is null then doc_it.prozs_pn
        else fi_doc.prozs_pn
      end                                                           as s_prozs_pn,
      acdoca.prozs_pn                                               as t_prozs_pn,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.prozs_pn <> acdoca.prozs_pn then 'X'
        when fi_doc.rbukrs is not null and fi_doc.prozs_pn <> acdoca.prozs_pn then 'X'
        else ''
      end                                                           as prozs_pn_d,

      case
        when fi_doc.rbukrs is null then doc_it.xmanpropval_pn
        else fi_doc.xmanpropval_pn
      end                                                           as s_xmanpropval_pn,
      acdoca.xmanpropval_pn                                         as t_xmanpropval_pn,
      case
        when acdoca.rbukrs is null then 'X'
        when fi_doc.rbukrs is null and doc_it.xmanpropval_pn <> acdoca.xmanpropval_pn then 'X'
        when fi_doc.rbukrs is not null and fi_doc.xmanpropval_pn <> acdoca.xmanpropval_pn then 'X'
        else ''
      end                                                           as xmanpropval_pn_d,

      case
        when acdoca.rbukrs is null then 'X'
        else ''
      end                                                           as is_null,

      doc_it.anlkl,
      doc_it.movcat,
      doc_it.bwasl,
      doc_it.vorgn,
      doc_it.sdm_status
}
where
          doc_it.sdm_status =  '19'
  and(
    (
          doc_it.hsl        >= 0
      and doc_it.ksl        >= 0
      and doc_it.osl        >= 0
      and doc_it.vsl        >= 0
      and doc_it.bsl        >= 0
      and doc_it.csl        >= 0
      and doc_it.dsl        >= 0
      and doc_it.esl        >= 0
      and doc_it.fsl        >= 0
      and doc_it.gsl        >= 0
    )
    or(
          doc_it.hsl        <= 0
      and doc_it.ksl        <= 0
      and doc_it.osl        <= 0
      and doc_it.vsl        <= 0
      and doc_it.bsl        <= 0
      and doc_it.csl        <= 0
      and doc_it.dsl        <= 0
      and doc_it.esl        <= 0
      and doc_it.fsl        <= 0
      and doc_it.gsl        <= 0