b7-Anwender-Frühstück: komplexe Datentypen Fortsetzung
b7-Anwender-Frühstück: komplexe Datentypen Fortsetzung
Veranstaltungsdatum:
 
25.1.2024
 
8:30
 Uhr
 
29.1.2024

Bei einem gemeinsamen (virtuellen) Frühstück ein paar Tipps und Tricks rund um Sage b7 erfahren? – Termin verpasst? – Jetzt nachlesen!

Thema:

  • komplexe Datentypen Fortsetzung

Beschreibung:

In diesem b7-Anwender-Frühstück möchten wir ihnen weitere Anwendungsfälle für CDTs in Sage b7 zeigen.

Hinweise zur Veranstaltung:      

  • Die Teilnahme am b7-Anwender-Frühstück ist kostenlos.
  • Die Teams-Sitzungen finden an jedem vierten Donnerstag im Monat statt von 08:30 bis 09:30 Uhr. Fällt der Termin auf einen Feiertag, fällt diese Sitzung aus.
  • In den Sitzungen kann Werbung der SuA-Wendte GmbH oder Drittanbietern enthalten sein.
  • Die gezeigten Lösungen und Beispiele beziehen sich auf den aktuellen Sage b7 Release. Soweit Unterschiede zu anderen Releases bekannt sind, wird auf diese eingegangen.
  • Im Anschluss an den Vortrag verbleiben etwa 15 bis 20 Minuten, um Fragen (auch  zu anderen Themen) zu stellen.

Nachbearbeitung:

Beispiel 1:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

define teil_sprache

{    

string identnr,    

string var,    

string lang_ext,    

int fi_nr,

string abmessung,    

int aendnr,    

string ben,    

string ben1,    

date dataen,    

date datneu,    

string klasse,    

string kurz_ben,    

string mc_var,    

string norm,    

string normnr,    

int updatenr,    

string useraen,    

string userneu,    

string uuid,    

string werkstoff,

}

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_01_sv_satz_lesen()

{

teil_sprache teil_spracheL    

teil_spracheL = bu_cdt_new("teil_sprache")

teil_spracheL=>fi_nr = FI_G000    

teil_spracheL=>identnr = '11000011'    

teil_spracheL=>var = NULL    

teil_spracheL=>lang_ext = LANG_EXT

teil_spracheL = saw_01_1(teil_spracheL)    

msg emsg "teil_spracheL=>ben <:(teil_spracheL=>ben)>"  

msg emsg "teil_spracheL=>ben1 <:(teil_spracheL=>ben1)>"

return OK

}

#-------------------------------------------------------------------------------

teil_sprache proc saw_01_1(teil_sprache teil_spracheP)

{

// Keydaten im CDT setzen, CDT im select-Statement füllen

// und zurückgeben

dbms alias teil_spracheP=>ben

            , teil_spracheP=>ben1

dbms sql select g0402.ben

                 , g0402.ben1

              from g0402

             where g0402.fi_nr = :+teil_spracheP=>fi_nr

               and g0402.identnr = :+teil_spracheP=>identnr

               and g0402.var = :+teil_spracheP=>var

dbms alias  

return teil_spracheP

}

Beispiel 2:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

define teil_sprache

{    

string identnr,    

string var,    

string lang_ext,    

int fi_nr,

string abmessung,    

int aendnr,    

string ben,  

}

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_02_sv_satz_lesen()

{    

teil_sprache teil_spracheL    

teil_spracheL = bu_cdt_new("teil_sprache")

teil_spracheL=>fi_nr = FI_G000    

teil_spracheL=>identnr = '11000011'    

teil_spracheL=>var = NULL    

teil_spracheL=>lang_ext = LANG_EXT

teil_spracheL = saw_02_1(teil_spracheL)

msg emsg "teil_spracheL=>ben <:(teil_spracheL=>ben)>"

return OK

}


#-------------------------------------------------------------------------------

teil_sprache proc saw_02_1(teil_sprache teil_spracheP)

{  

// Keydaten im CDT setzen, CDT im select-Statement füllen    

// und zurückgeben    

dbms alias teil_spracheP=>ben    

dbms sql select g0402.ben

                 , g0402.ben1

              from g0402

where g0402.fi_nr = :+teil_spracheP=>fi_nr

and g0402.identnr = :+teil_spracheP=>identnr

and g0402.var = :+teil_spracheP=>var

and g0402.lang_ext = :+teil_spracheP=>lang_ext    

dbms alias

return teil_spracheP

}


Beispiel 3:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

include teil_sprache.cdt

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_03_sv_satz_lesen()

{

teil_sprache teil_spracheL    

teil_spracheL = bu_cdt_new("teil_sprache")

teil_spracheL=>fi_nr = FI_G000    

teil_spracheL=>identnr = '11000011'    

teil_spracheL=>var = NULL    

teil_spracheL=>lang_ext = LANG_EXT

teil_spracheL = saw_03_1(teil_spracheL)    

msg emsg "teil_spracheL=>ben <:(teil_spracheL=>ben)>"    

msg emsg "teil_spracheL=>ben1 <:(teil_spracheL=>ben1)>"

return OK

}

#-------------------------------------------------------------------------------

teil_sprache proc saw_03_1(teil_sprache teil_spracheP)

{

// Keydaten im CDT setzen, CDT im select-Statement füllen

// und zurückgeben

dbms alias teil_spracheP=>ben \

, teil_spracheP=>ben1

dbms sql select g0402.ben \

, g0402.ben1 \

from g0402 \

where g0402.fi_nr = :+teil_spracheP=>fi_nr \

and g0402.identnr = :+teil_spracheP=>identnr \

and g0402.var = :+teil_spracheP=>var \

and g0402.lang_ext = :+teil_spracheP=>lang_ext \

dbms alias

return teil_spracheP

}

Beispiel 4:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

include teil_sprache.cdt

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_04_sv_satz_lesen()

{

vars rcL = FAILURE

vars dateinameL = "C\:\\temp\\AnwFr\\saw_04.xml"

teil_sprache teil_spracheL

teil_spracheL = bu_cdt_new("teil_sprache")

teil_spracheL=>fi_nr = FI_G000

teil_spracheL=>identnr = '11000011'

teil_spracheL=>var = NULL

teil_spracheL=>lang_ext = LANG_EXT

teil_spracheL = saw_04_1(teil_spracheL)

rcL = boa_write_xml_file(teil_spracheL, dateinameL, NULL, NULL)

msg emsg "Ausgabe in <:dateinameL> <:rcL>"

return rcL

}

#-------------------------------------------------------------------------------

teil_sprache proc saw_04_1(teil_sprache teil_spracheP)

{

// Keydaten im CDT setzen, CDT im select-Statement füllen

// und zurückgeben

dbms alias teil_spracheP=>ben \

, teil_spracheP=>ben1

dbms sql select g0402.ben \

, g0402.ben1 \

from g0402 \

where g0402.fi_nr = :+teil_spracheP=>fi_nr \

and g0402.identnr = :+teil_spracheP=>identnr \

and g0402.var = :+teil_spracheP=>var \

and g0402.lang_ext = :+teil_spracheP=>lang_ext

dbms alias

return teil_spracheP

}

Beispiel 5:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

include teil_sprache.cdt

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_05_sv_satz_lesen()

{

vars rcL = FAILURE

vars dateinameL = "C\:\\temp\\AnwFr\\saw_04.xml"

teil_sprache teil_spracheL

teil_spracheL = bu_cdt_new("teil_sprache")

rcL = boa_read_xml_file(teil_spracheL, dateinameL, 0)

msg emsg "teil_spracheL=>ben <:(teil_spracheL=>ben)>"

msg emsg "teil_spracheL=>ben1 <:(teil_spracheL=>ben1)>"

return rcL

}

Beispiel 6:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_06_sv_satz_lesen()

{

vars rcL = FAILURE

vars dateinameL = "C\:\\temp\\AnwFr\\saw_06.xml"

vars identnrL = "11000011"

vars varL = NULL

vars gm0000HandleL

vars cdtTstL

vars cdtTstZusatzL

// TST-CDT neu generieren.

call g_define_TstGq000("saw_06")

cdtTstL         = new TstGq000()

cdtTstZusatzL = bu_cdt_new("TstGq000zus")

// Teilestamm-Modul laden

gm0000HandleL = bu_load_modul("gm0000" , gm0000HandleL)

if gm0000HandleL <= 0

{

msg emsg "Fehler beim Aktivieren des Moduls gm0000"

return FAILURE

}

call gm0000_activate(gm0000HandleL)

// Teilestamm-Modul initialisieren

call gm0000_init(cdtTstL , cdtTstZusatzL)

// Teilestamm-Modul Keydaten setzen

identnrGm0000E = identnrL

varGm0000E     = varL

cdtTstL=>fi_nr              = FI_G000

cdtTstL=>identnr            = identnrL

cdtTstL=>var                = varL

// Teilestamm lesen

rcL = gm0000_lesen(cdtTstL)

if (rcL == OK)

{

// Teilestamm serialisieren

rcL = boa_write_xml_file(cdtTstL, dateinameL, NULL, NULL)

}

// Teilestamm-Modul entladen

call gm0000_deactivate(gm0000HandleL)

call gm0000_unload(gm0000HandleL)

unload gm0000.bsl

return OK

}

Beispiel 7:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_07_sv_satz_lesen()

{

vars rcL = OK

vars dateinameL = "C\:\\temp\\AnwFr\\saw_07.xml"

vars handleVq100L

vars vvorgangL

vars positionL

vars aufnrL = '100243'

handleVq100L = bu_load_qmodul("vq100", handleVq100L, FALSE, NULL, $NULL)

if (handleVq100L == FAILURE)

{

return FAILURE

}

vvorgangL = vq100_create(handleVq100L)

vvorgangL=>fi_nr = fi_nr

vvorgangL=>vvorgart = cVVORGART_AUFTRAG

vvorgangL=>aufnr = aufnrL

if (rcL == OK)

{

rcL = vq100_lesen(handleVq100L, vvorgangL)

}

if (rcL == OK)

{

// Auftrag serialisieren

rcL = boa_write_xml_file(vvorgangL, dateinameL, NULL, NULL)

}

return rcL

}

Beispiel 8:

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

/**

*@see      Supervisor-Aussprung: SATZ_LESEN

**/

int proc saw_08_sv_satz_lesen()

{

vars rcL = OK

vars dateinameL = "C\:\\temp\\AnwFr\\saw_08.xml"

vars handleVq100L

vars vvorgangL

vars positionL

vars aufnrL = '100243'

handleVq100L = bu_load_qmodul("vq100", handleVq100L, FALSE, "", $NULL)

if (handleVq100L == FAILURE)

{

return FAILURE

}

vvorgangL = vq100_create(handleVq100L)

vvorgangL=>fi_nr = fi_nr

vvorgangL=>vvorgart = cVVORGART_AUFTRAG

vvorgangL=>aufnr = aufnrL

if (rcL == OK)

{

rcL = vq100_lesen(handleVq100L, vvorgangL)

}

if (rcL == OK)

{

rcL = bu_qmodul_read_field(handleVq100L, vvorgangL, "positionen")

}

if (rcL == OK)

{

// Auftrag serialisieren

rcL = boa_write_xml_file(vvorgangL, dateinameL, NULL, NULL)

}

}

teil_sprache.cdt

#-------------------------------------------------------------------------------
# 2024-01-24 Sven Wendte
# Anwenderfrühstück 2024-01-25
#-------------------------------------------------------------------------------

define teil_sprache {

string identnr,

string var,

string lang_ext,

int fi_nr,

string abmessung,

int aendnr,

string ben,

string ben1,

date dataen,

date datneu,

string klasse,

string kurz_ben,

string mc_var,

string norm,

string normnr,

int updatenr,

string useraen,

string userneu,

string uuid,

string werkstoff,

}