********************************************************** * dbed_artikel * * hado hein (C) 1991 * *********************************************************** progteil="Artikel €ndern / Neu" do ssc @ 11,25 prompt " Artikel €ndern " @ 12,25 prompt " Artikel neuanlegen " @ 13,25 prompt " Artikel l€schen " private wahlli menu to wahlli do case case wahlli = 1 do dbed_art case wahlli = 2 do neu_art endcase return ************************************************************ * neu_art * (c) hado hein , XXXoutdatedXXXstra€XXXoutdatedXXX, 4000 d€sseldorf 30 * 0161-XXXoutdatedXXX *********************************************************** * zum neuanlegen eines artikels * ********************************* * * * procedure neu_art progteil = "Artikel NEU" savee() select artikel private n_art_nr,n_name1,n_name2,n_vk,n_lagerbest private n_lief_1,n_lief_2,n_lief_3,n_lief_4,n_lief_5 store space(6) to n_lief_1,n_lief_2,n_lief_3,n_lief_4,n_lief_5 store space(40) to n_name1,n_name2 store space(10) to n_art_nr store 0 to n_vk,n_lagerbest * private ende,rueck store 1 to rueck * do ssc do hell do cout with 10,"Geben Sie bitte Artikelnummer & Name ein." do norm @ 12,10 say "Artikelnummer : " @ 12,30 get n_art_nr @ 13,10 say "Name (1) : " @ 13,30 get n_name1 @ 14,10 say "Name (2) : " @ 14,30 get n_name2 READ if lastkey()=27 return endif * * do while rueck <> 2 do hell @ 12,30 say n_art_nr @ 13,30 say n_name1 @ 14,30 say n_name2 do norm * @ maxrow()-6,30 prompt "€ndern" @ maxrow()-5,30 prompt " OK " @ maxrow()-4,30 prompt " ENDE " menu to rueck * if empty(n_art_nr) .or. empty(n_name1) .and. rueck = 2 do ssc do inv do cout with 10,"Artikelnummer und Name (1)" do cout with 12,"m€ssen mindestens ein Zeichen" do cout with 14,"enthalten !" do norm do wt rueck = 3 endif if rueck = 2 private n_ok,suche n_ok = .f. go top suche=trim(upper(n_art_nr)) set order to 1 seek suche if found() .and. upper(artikel->art_nr) = upper(n_art_nr) n_ok = .t. endif if n_ok do ssc do lauf with 10,"Diese Artikelnummer gibt es schon !!!" rueck = 3 endif endif * do case case rueck = 1 n_art_nr=n_art_nr+space(10) n_name1=n_name1+space(40) n_name2=n_name2+space(40) n_art_nr=left(n_art_nr,10) n_name1=left(n_name1,40) n_name2=left(n_name2,40) @ 12,30 get n_art_nr picture "@K" @ 13,30 get n_name1 picture "@K" @ 14,30 get n_name2 picture "@K" READ case rueck = 2 n_art_nr=left(upper(n_art_nr)+space(10),10) n_name1=left(upper(n_name1)+space(40),40) n_name2=left(upper(n_name2)+space(40),40) case rueck = 3 return endcase enddo * rueck = 1 * * * und das gleiche f€r den rest * * do while rueck <> 2 do ssc private kopftext kopftext="Artikel : "+trim(n_art_nr)+" / "+trim(upper(n_name1)) do cout with 5,kopftext @ 7,10 say "VK :" @ 7,25 get n_vk picture "@K" @ 8,10 say "Lagerbest. :" @ 8,25 get n_lagerbest picture "@K" @ 9,10 say "Lieferant 1:" @ 9,25 get n_lief_1 picture "@K" @10,10 say "Lieferant 2:" @10,25 get n_lief_2 picture "@K" @11,10 say "Lieferant 3:" @11,25 get n_lief_3 picture "@K" @12,10 say "Lieferant 4:" @12,25 get n_lief_4 picture "@K" @13,10 say "Lieferant 5:" @13,25 get n_lief_5 picture "@K" READ * n_lief_1 = left(n_lief_1+space(6),6) n_lief_2 = left(n_lief_2+space(6),6) n_lief_3 = left(n_lief_3+space(6),6) n_lief_4 = left(n_lief_4+space(6),6) n_lief_5 = left(n_lief_5+space(6),6) * do hell @ 7,25 say n_vk @ 8,25 say n_lagerbest @ 9,25 say n_lief_1 @10,25 say n_lief_2 @11,25 say n_lief_3 @12,25 say n_lief_4 @13,25 say n_lief_5 do norm * @maxrow()-6,30 prompt "€ndern" @maxrow()-5,30 prompt " OK " @maxrow()-4,30 prompt " ENDE " menu to rueck * * *Jetzt gebens wir dem benutzer mal richtig * * if rueck = 3 return endif * enddo * * * na endlich * * if !n_ok select artikel append blank if rlog() replace vk with n_vk replace art_nr with upper(n_art_nr) replace name1 with n_name1 replace name2 with n_name2 replace lagerbest with n_lagerbest replace lief_1 with upper(n_lief_1) replace lief_2 with upper(n_lief_2) replace lief_3 with upper(n_lief_3) replace lief_4 with upper(n_lief_4) replace lief_5 with upper(n_lief_5) commit do relog endif endif * * * mann war das eine schwere geburt * * * return ************************************************************************** ************************************************************************** ************************************************************************** * * procedure dbed_art * * Datenpflege f€r artikel bei flex_best * * hado hein 1990 * ********************************************************** * * * procedure dbed_art progteil = "Artikel-Datenpfelge" savee() select artikel go top private felder[10],picture[10],ueber[10] felder[1] = "ART_NR" felder[2] = "NAME1" felder[3] = "NAME2" felder[4] = "VK" felder[5] = "LAGERBEST" felder[6] = "LIEF_1" felder[7] = "LIEF_2" felder[8] = "LIEF_3" felder[9] = "LIEF_4" felder[10]= "LIEF_5" picture[1] = "XXXXXXXXXX" picture[2] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" picture[3] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" picture[4] = "9999999.99" picture[5] = "9999999999" picture[6] = "XXXXXX" picture[7] = "XXXXXX" picture[8] = "XXXXXX" picture[9] = "XXXXXX" picture[10]= "XXXXXX" ueber[1] = "Artikel-Nr" ueber[2] = " Name (1) " ueber[3] = " Name (2) " ueber[4] = " VK " ueber[5] = "Lagerbest." ueber[6] = "Lief.1" ueber[7] = "Lief.2" ueber[8] = "Lief.3" ueber[9]= "Lief.4" ueber[10]= "Lief.5" do ssc do norm @ maxrow()-7,01 to maxrow()-7,maxcol()-1 do cout with maxrow()-6,"| Return € ESC € Strg -> € Strg <- | F 10 " do cout with maxrow()-5,"| €ndern € Ende € nach € nach | Notiz- " do cout with maxrow()-4,"| € € rechts € links | Zettel" keyboard chr(32) do hell DBEDIT( 5,1,maxrow()-8,maxcol()-1,felder,"ed_art_func",picture,ueber,"€","€") return * * * * * * * ************************************************************ * * * *FUNCTION edifunc * * wird f€r dbedit * * * FUNC ED_art_FUNC PARAMETERS modus, feldind PRIVATE getfeld,agetfeld getfeld = felder[feldind] && €bernahme d. aktuellen Feldes rueck = 1 old_s = COL() old_z = ROW() set cursor on * do norm @ 00,01 to 00,08 double do hell @ 00,01 say NTOC(recno()) * * if deleted() do nachricht with ">GEL€SCHT<" do hell else do nachricht do hell endif * * do norm private arec do hell DO CASE CASE modus = 1 && Dateianfang erreicht go top SOUND(warn_sound) do nachricht with "Dateianfang erreicht" inkey(1) do nachricht do hell rueck = 2 CASE modus = 2 && Dateiende erreicht go bottom SOUND(warn_sound) do nachricht with "Dateiende erreicht" inkey(1) do nachricht do hell rueck = 2 CASE LASTKEY() = 13 .and. masterbed .and. rlog() && RETURN = Feld edit set intensity off do inv store &getfeld to agetfeld @ old_z, old_s GET agetfeld picture "@K" READ if ae[feldind] do case case feldind > 5 .or. feldind = 1 replace &getfeld with upper(agetfeld) otherwise replace &getfeld with agetfeld endcase endif if !ae[feldind] .and. empty(agetfeld) SOUND(err_sound) do nachricht with "Leer geht nicht !" inkey(1) do nachricht elseif !ae[feldind] .and. !empty(agetfeld) do case case feldind > 5 .or. feldind = 1 replace &getfeld with upper(agetfeld) otherwise replace &getfeld with agetfeld endcase endif do hell set intensity on @ old_z, old_s say &getfeld keyboard chr(24) rueck = 1 CASE LASTKEY() = 13 .and. ae[feldind]; && RETURN = Feld editieren .and. rlog() set intensity off do inv store &getfeld to agetfeld @ old_z, old_s GET agetfeld picture "@K" READ if !empty(agetfeld) do case case feldind > 5 .or. feldind = 1 replace &getfeld with upper(getfeld) otherwise replace &getfeld with agetfeld endcase else SOUND(warn_sound) do nachricht with "Leer geht nicht !" inkey(1) endif do hell @ old_z,old_s say &getfeld set intensity on keyboard chr(24) rueck = 1 CASE LASTKEY() = 13 .and. !ae[feldind] && RETURN = Feld editieren SOUND(err_sound) do nachricht with "€ndern nicht zugelassen" inkey(1) do nachricht do hell rueck = 1 CASE LASTKEY() = 27 && ESC = DBEDIT() beenden rueck = 0 CASE LASTKEY() = -9 && M E M O E D I T do ed_memo with recno(),alias() clear typeahead keyboard chr(24) rueck = 2 ENDCASE do relog RETURN rueck €