Sử dụng song song 2 mạng wifi và LAN

15:23:00 |
Hỏi:
hiện tại máy tính e làm việc có 2 nhánh mạng như sau:

LAN1: 10.91.3.2, Subnet: 255.255.255.252, GW: 10.91.3.1 ---> dành để telnet thiết bị

LAN2: 192.168.1.X, Subnet: 255.255.255.0, GW: 192.168.1.1 ---> dành để ra internet

 cái LAN 2 e mới gắn thêm để khi đi đâu cũng teamview về làm được
lúc trước e chỉ xài duy nhất LAN 1, làm việc tại chỗ ngon lành, bữa giờ cứ cấu hình, rồi tham khảo thêm trên google, mấy web về mạng, cũng có làm theo, nhưng làm hoài không được, được cái này thì mất cái kia, hoặc là kg được cả 2 luôn :(, hôm nay túng quá đành lên nhờ các a hướng dẫn thêm, e xin cám ơn rất nhiều.
Trả lời:

Bạn phải hiểu rõ thế này: default gateway là cổng để đi tới các mạng mà máy không biết - tức là các mạng không phải 10.91.3.0/255.255.255.252 và 192.168.1.0/255.255.255.0

Nếu bạn khai báo 2 default GW, mà lại hướng vè 2 phía khác nhau (1 cái vào mạng nội bộ, 1 cái ra internet) thì máy không hiểu đúng ý bạn được. Khi đó GW nào có độ ưu tiên cao hơn sẽ LUÔN được sử dụng nếu mạng đó có cắm.

Để có thể chạy được, bạn chỉ được phép khai báo 1 default gw mà thôi - là cái 192.168.1.1 - để ra internet. Còn làm thế nào để vẫn kết nối vào các thiết bị của mạng nội bộ thì bạn khải khai báo routes cho nó.
VD các thiết bị nội bộ của bạn có IP 10.x.x.x thì bạn hãy khai báo route như sau:
- Mở cửa số command (run cmd)
- gõ lệnh sau (bỏ nháy kép) rồi Enter: "route add 10.0.0.0 mask 255.0.0.0 10.91.3.1 metric 1 -p"
Ý nghĩa của lệnh là với tất cả các destination 10.x.x.x (10.0.0.0/255.0.0.0) thì gửi qua gw 10.91.3.1
GW này có độ ưu tiên cao nhất (metric 1) - ưu tiên hơn default gw 192.168.1.1 - nhưng chỉ dành cho các địa chỉ đích 10.x.x.x
-p = persistent = route này không bị mất đi mỗi khi khởi động lại máy.
Nếu mạng thiết bị bên trong có các dải IP khác nữa (VD như 192.168.12.x) thì bạn cần thêm 1 route nữa tương tự như trên.

Tóm lại, có 2 việc:
1. Bỏ Default Gateway 10.91.3.1 ở LAN 1 đi, chỉ để lại Default GW 192.168.1.1 ở LAN 2
2. Khai báo route cho mạng mạng thiết bị bên trong (như 10.x), nhớ để persistent (-p)
route add 10.0.0.0 mask 255.0.0.0 10.53.30.1 metric 1 -p
route add 10.53.252.0 mask 255.255.255.0 10.53.30.1 metric 1 -p
sudo route -n add -net 10.0.0.0 /8  10.53.30.1

Đọc Thêm…

hướng dẫn: Enable drop down menu on PT8.55

13:02:00 |
Method 1 – Switch back to older tangerine or tangerine_alt theme
1. Go to PeopleTools >> Portal >> Branding >> Branding System Options;
2. Change the system default theme back to the old tangerine or tangerine_alt;
3. Sign out and sign in again to see the changes.
Method 2 – Un-hide the drop down menu in default fluid theme

1. Go to PeopleTools >> Portal >> Branding >> Define Headers and Footers;
2. Search and open the DEFAULT_HEADER_FLUID header definition;
3. Copy the following styles into the “Style Definitions” field at bottom of the page, and then save;

.desktopFluidHdr .ptdropdownmenu {
display: block;
}

4. Sign out and sign in again to see the changes.
Đọc Thêm…

Đối đáp

19:31:00 |
Sông này sâu cạn thế nào
Lại đây anh thả một con sào hỡi em
Sông này chỗ cạn chỗ sâu
Sa chân thì ngập cả đầu đó anh!

Đọc Thêm…

Câu lệnh hay trong Skype.

16:29:00 |

Add An Administrator to Your Group

Here's a way to use Skype commands to add more Moderators to your group! If you're the Moderator/Creator of the group...
  1. Go to your Skype group.
  2. Type in "/setrole [SkypeName] MASTER"
Replace "[SkypeName]" above with the name you got from their profile in the section above this one.

If you do those simple two steps above, you'll set the person into the Administrator role, so that they can also remove people from the group (and can add more people as Administrators).

What if you're not an administrator in the group? You're going to need to ask the Creator or another Administrator to add you as an Administrator. It will help them if you give them the full command line in advance, including your Skype Name. Most people don't know how to do this.

Tổng hợp 1 số câu lệnh hay, tin nhắn đặc biệt, dùng trong phần mềm chat Skype rất hữu dụng
Đọc Thêm…

Đêm Mơ

16:34:00 |

Đêm mơ ôm mẹ vào lòng
cỏ thơm đất ấm trong vòng tay thon
thì thầm cỏ nói cùng con
xanh cho mẹ bớt héo hon tuổi già
một đời lam lũ mưa sa
nay về với đất mẹ là nguồn trong
ngoài trời chiếc lá ru nhau
ấp ưu ngọn gió ru nhàu đêm đêm
tưởng rằng mơ giấc thần tiên
ngờ đâu dáng mẹ điền viên góc trời
thương con không nói lên lời
nụ cười nở mãi trên môi mẹ hiền
                           Nông Thị Hưng
Đọc Thêm…

Các kiểu dạy con nghiêm khắc đến kỳ dị

13:14:00 |

Với suy nghĩ phải nghiêm khắc con mới nên người, nhiều bà mẹ đã nghĩ ra các kiểu dạy con nghiêm khắc đến kỳ dị.

Là tín đồ của Internet nên chị Hương suốt ngày lang thang trên mạng, đọc các vụ án giật gân. Và chị phát hiện ra, tội phạm ngày càng trẻ hóa. Chị kết luận, dạy con bây giờ vô cùng khó khăn. Bố mẹ dù có quan tâm con đến mấy thì tác động cũng không thể lớn bằng môi trường sống và bạn bè.
Mà môi trường sống và bạn bè là những điều các bậc phụ huynh ít kiểm soát được nên chị tin rằng bố mẹ cần nâng cao vai trò của mình trong việc giáo dục con cái. Điều đó có nghĩa, chị phải tuyệt đối nghiêm khắc khi dạy con.
Vì thế, bé An từ khi chào đời đã sống trong chế độ “phát xít” mà chị đặt ra. Bé quấy khóc, chị cấm không ai được tới dỗ dành. Bé lười ăn, chị không ép. Với chị “Phải để nó đói dài ra thì nó mới chịu ăn”. Nói chung, bé rất xa lạ với hai từ nâng niu, ân cần.
Bé càng lớn, chế độ giáo dục mà bé được nhận ngày càng nghiêm khắc và kỳ dị. Khi bé học lớp 1, một lần vì thèm ăn kem, bé ăn trộm 5.000 đồng của chị. Chị không những không ôn tồn khuyên bảo con mà đưa ra quyết định vô cùng kỳ dị.
Chị mua cả đống kem về nhét đầy tủ lạnh. Chị bắt bé ăn tới lúc hết kem thì mới được dừng. Chị bảo phải như vậy, bé mới thấm thía được hết sai lầm và cạch đến già. Ăn tới cái thứ 5, bé chịu hết nổi, khóc lóc cầu xin, chị vẫn lạnh lùng bắt bé tiếp tục.
Cuộc trừng phạt bằng kem của chị Hương không kéo dài được lâu. Sau gần một tiếng ăn kem, bé An bỗng trợn ngược mắt, lăn đùng ra giãy đành đạch. Ban đầu chị nghĩ bé làm trò để thoát án phạt. Nhưng sau vài phút, thấy bé nằm im, mặt mũi xám ngoét, chị mới lo lắng và đưa con đi bệnh viện.
Không cần bác sĩ kết luận, chị cũng biết vì chị bắt ăn quá nhiều nên bé bội thực. Nếu ăn thêm chỉ cần một cái nữa, dạ dày của bé thậm chí có nguy cơ vỡ. Nhưng rất may, vì đưa bé đến bệnh viện kịp nên điều xấu nhất đã không xảy ra.
Tuy nhiên, chị vẫn phải vất vả thêm một thời gian nữa vì bé dù tai qua nạn khỏi nhưng lại mắc chứng chảy máu dạ dày. Nguyên nhân vẫn là do chị ép bé ăn kem quá nhiều. Vừa mất thời gian, vừa mất tiền bạc, công sức, vừa thương con, chị Hương thề sẽ dần dần bỏ cách giáo dục con hà khắc.
  
Chị Hoa cũng có quan điểm dạy con thì cần phải nghiêm khắc. Với chị, bố mẹ nghiêm khắc, con mới thành tài được. Mỗi khi bé mắc sai lầm, chị không bao giờ ngọt ngào khuyên bảo con. Việc đầu tiên chị làm là sai con đi lấy chiếc roi dựng ở góc nhà. Chị để con làm quan tòa, tự quyết hình phạt mà con đáng nhận.
Nếu bé đưa ra số roi đúng ý chị, chị gật đầu rồi xuống tay. Nếu bé nói số roi lớn hơn, bé sẽ phải hứng chịu toàn bộ. Còn nếu bé “đánh giá” thấp lỗi lầm của mình, số roi bé phải nhận sẽ tăng gấp rưỡi. Và chị chính là người “thực thi pháp lệnh”.
Chịu nhiều thống khổ, bé Kim vẫn chịu đựng được. Nhưng có lẽ, bé không thể ngờ rằng có lúc mình rơi vào hoàn cảnh trớ trêu đến vậy. Chuyện là một lần bé cùng mẹ đến nhà cô bạn thân của mẹ. Bé lỡ tay đánh vỡ chiếc bình quý của chủ nhà.
Chị đã phạt con bằng cách bắt bé đi xin tiền. Bé không được xin ông bà, họ hàng mà phải ra đứng ngoài đường xin người lạ như một hành khất. Chị ép bé xin lúc nào đủ 2 triệu đền cho chủ nhà mới thôi.
Sau hai ngày, cứ hết giờ đến lớp lại phải đi xin tiền, bé tự dưng gặp bạn học. Vì vẫn còn là trẻ con nên các bé cùng lớp tha hồ trêu chọc Kim. Thậm chí, bọn nhỏ còn làm vè truyền tay nhau đọc khiến bé “nổi tiếng” cả trường.
Xấu hổ, bé tìm cách tự tử nhưng may mắn được anh hàng xóm cứu thoát. Bé hận mẹ tới mức nhất định không chịu về nhà. Bé đòi đi bụi. Thương con và tự trách bản thân không quyết liệt với vợ, chồng chị tạm đuổi vợ vắng nhà vài hôm. Khi chỉ có hai bố con, bé mới dốc hết bầu tâm sự. Với bé, mẹ chẳng khác gì ác quỷ. Bé muốn tránh xa mẹ càng lâu càng tốt.
Nhìn đứa con mới 7 tuổi đã phải sống cuộc sống “tù đày”, bố bé thương con tới rớt nước mắt. Anh tự hứa sẽ tìm mọi cách để bù đắp cho con. Và đặc biệt, anh sẽ quyết liệt ngăn chặn cách giáo dục hà khắc của vợ.
Theo Tri thức trẻ

Đọc Thêm…

Đây là những hiện tượng kỳ lạ xảy ra khi bạn chìm vào giấc ngủ, ai cũng từng mắc mà không biết tại sao

20:44:00 |

Khi bạn chìm vào giấc ngủ sẽ luôn có những điều kỳ lạ xảy ra. Hầu hết mọi người đều từng trải qua một trong những trạng thái này.

1. Bóng đè
Hiện tượng bóng đè xảy ra là khi đột nhiên bạn tỉnh dậy giữa đêm và không thể nào cử động được cơ thể. Người bị bóng đè có cảm giác như có ai đó đang ở trong phòng mình. Vào thời cổ đại, người ta cho rằng hiện tượng này có liên quan tới ma quỷ.
Khi chúng ta ngủ, cơ thể rơi vào trạng thái tê liệt. Với trạng thái này, ngay cả khi não của chúng ta thức dậy đột ngột thì các cơ vẫn đang ở trạng thái “ngủ”. Đó là lý do vì sao chúng ta không thể cử động khi hiện tượng bóng đè nay diễn ra.
2. Ảo giác Hypnagogic
Ảo giác Hypnagogic diễn ra khi cơ thể một người đang trong trạng thái ngủ nhưng đầu óc vẫn nhận thức được những điều xung quanh, không chỉ thế, họ còn có thể nhìn thấy những khuôn mặt đáng sợ, hình thù kỳ dị.
Đây là một trong những loại ảo giác mà những người có bệnh lý về tâm thần có thể gặp phải. Trẻ em thường gặp phải loại ảo giác này hơn người lớn, có thể đó là lý do tại sao vài đứa trẻ không muốn đi ngủ. Nguyên nhân của loại ảo giác này được đoán là do căng thẳng hoặc do trí tưởng tượng quá phong phú, đôi khi nó xuất hiện khi bạn chìm vào giấc ngủ trong cơn say bia, rượu.
3. Nói mê
Chứng nói mê có tên gọi khoa học là somniloquy. Thông thường, những người mắc chứng nói mê trong giấc ngủ không hề ý thức được những điều mình đã nói. Về mặt tâm lý, tình trạng này không hề nguy hiểm đối với con người.
Đàn ông và trẻ em là những người hay mắc chứng nói mê, phần lớn là do gặp phải tâm lý căng thẳng. Đó là khi tâm trí của họ đang cố chống lại những gì đã diễn ra trong thực tế.
4. Giấc mơ trong giấc mơ
Đã khi nào bạn thấy mình tỉnh dậy, thực hiện những hành động bình thường nhưng hóa ra bạn chỉ đang ở trong giấc mơ và rồi lại tỉnh dậy một lần nữa? Đó chính là hiện tượng mơ trong mơ. Bạn chỉ đang mơ rằng mình tỉnh dậy. Hiện tượng này đã từng xuất hiện trong bộ phim “Đánh cắp giấc mơ” (Inception). Sau thành công của bộ phim, nhiều người đã chia sẻ rằng họ cũng từng gặp phải hiện tượng này.
Một số người cho rằng nếu bạn từng gặp phải giấc mơ như vậy, điều đó có nghĩa là bạn có khuynh hướng sở hữu khả năng liên quan tới tâm linh. Đến nay khoa học vẫn chưa thể lý giải hiện tượng này.
5. Mộng du
Triệu chứng này ngược lại với triệu chứng tê liệt khi ngủ, ý thức của bạn vẫn trong trạng thái ngủ còn cơ thể thì lại hoạt động. Khi rơi vào trạng thái mộng du, nhiều người có thể đi bộ, dọn dẹp nhà cửa, thậm chí là ra khỏi nhà. Khi rơi vào trạng thái này, người mộng du có thể thực hiện những hành động nguy hiểm và không nhớ bất cứ điều gì khi tỉnh dậy.
Có khoảng 4,6% - 10,3% dân số mắc phải chứng mộng du. Trẻ em có xu hướng gặp phải tình trạng này nhiều hơn người trưởng thành. Hiện nay khoa học vẫn chưa tìm được lời giải đáp cho hiện tượng này.
6. Cảm giác “đầu nổ tung”
Khi vừa chợp mắt, một số người nghe thấy một tiếng nổ lớn hay tiếng vỗ tay. Thậm chí nó có thể làm bạn thấy điếc tai nhưng nó không có thực mà chỉ diễn ra trong đầu của bạn. Hiện tượng này không nguy hiểm tới con người nhưng nó có thể làm chúng ta sợ hãi.
Hiện tượng “đầu nổ tung” có thể xảy ra khi có sự gia tăng hoạt động của các dây thần kinh ở vùng não chịu tránh nghiệm xử lý âm thanh. Đôi khi, hội chứng này còn có thể là sự kết hợp của chứng mất ngủ và căng thẳng do chênh lệch múi giờ sau một chuyến bay dài.
7. Chứng ngưng thở khi ngủ
Chứng ngưng thở khi ngủ là một người đột ngột ngưng thở trong giấc mơ và khiến họ choàng tỉnh dậy. Khi chất lượng giấc ngủ giảm xuống, não thiếu ô-xi sẽ dẫn đến việc người đó bị thiếu ngủ. Áp lực động mạnh cũng giao động trong suốt quá trình này. Đây có thể là một trong những nguyên nhân gây nên các vấn đề về tim mạch.
Khi ngủ, cơ thắt lưng thư giãn và đôi khi dẫn đến việc tắc nghẽn đường thở. Những người mắc bệnh béo phì, hút thuốc lá hoặc nhiều tuổi có nguy cơ cao gặp phải chứng ngưng thở khi ngủ. Có một phương pháp thú vị được cho rằng làm giảm chứng ngưng thở khi ngủ đó là chơi nhạc cụ didgeridoo, một loại nhạc cụ của Úc.
8. Lặp lại giấc mơ
Nhiều người gặp phải tình trạng cứ lặp đi lặp lại một giấc mơ. Các nhà khoa học cho rằng bộ não lặp đi lặp lại những giấc mơ như vậy để khiến chúng ta chú ý đến những điều mà mình không hề chú ý tới trong cuộc sống hàng ngày. Những giấc mơ như vậy vẫn sẽ diễn ra cho tới khi chúng ta chú ý tới điều đó.
9. Rơi tự do
Đôi khi chúng ta có cảm giác như vừa bị rơi từ trên cao xuống giường. Trước đó, có thể trong giấc mơ bạn cảm thấy mình như đang bay, vấp ngã hoặc rơi xuống từ trên cao. Điều này làm nhiều người giật mình. Dĩ nhiên cảm giác bị rơi xuống thật không dễ chịu chút nào.
Khi ngủ, cả nhịp tim và hơi thở đều chậm, các cơ giảm hoạt động. Lúc này, não bộ rơi vào trạng thái “sợ hãi” không biết rằng liệu đây có phải cái chết không? Não bộ của chúng ta sẽ muốn kiểm tra việc đó bằng cách thúc đẩy hoạt động của các cơ bắp bằng cách không mấy dễ chịu này.
10. Thoát khỏi cơ thể
Đây có thể coi là một trạng thái tâm thần khi một người “nửa tỉnh, nửa mê”. Họ có thể tự nhìn thấy mình từ bên ngoài của cơ thể. Có nhiều quan niệm cho rằng điều này thể hiện sự tồn tại của linh hồn.
Đây là một hiện tượng vẫn chưa thể lý giải. Các nhà khoa học vẫn chưa thể giải thích được tại sao hiện tượng này lại xảy ra, nó diễn ra như thế nào và cũng chưa có cách khắc phục hiện tượng này. Tuy nhiên, một số người đã tìm ra cách rơi vào hiện tượng này để có thể mở rộng ranh giới nhận thức và khả năng của bản thân.
11. Đột ngột hiểu ra trong giấc ngủ
Đôi khi chũng ta suy nghĩ về một vấn đề trong một thời gian dài nhưng vẫn không thể tìm được lời giải đáp và cứ nghĩ mãi về nó cho tới khi chìm vào giấc ngủ. Trong mơ, não sẽ giúp chúng ta “gỡ nút thắt” ấy. Tuy nhiên điều quan trọng là bạn phải nhớ nó khi tỉnh dậy.
Dmitri Mendeleev, một nhà hóa học người Nga đã theo đuổi việc tạo ra bảng chu kỳ của những nguyên tố hóa học. Sau đó ông đã nhìn thấy điều này trong giấc mơ của mình.
Điều tương tự xảy ra với August Kekulé - nhà hóa học người Đức, ông đã tìm thấy công thức chế tạo benzen trong mơ.
Điều này xảy ra khi tiềm thức biết câu trả lời, nhưng chúng ta không thể nhận thức được nó. Khi ngủ, tiềm thức hoạt động mạnh hơn và khiến chúng ta thấy rõ đáp án cho điều mà mình vẫn đang băn khoăn.
Theo Tri thức trẻ
Đọc Thêm…

Check Total gross amount cho wage type trong SAP

10:13:00 |
Làm theo từng bước theo hình
Nhập T-code: SM30
Nhập bảng V_512W_D:


 Chọn wage type cần điều chỉnh:
Check Total gross amount:






Đọc Thêm…

Lọ cồn - Lộn cò

10:03:00 |
Một lọ cồn, hai lọ cồn
Thêm vài ba lọ, lộn ngay con cò
Sếp mời rửa ghế bằng cồn
Chúng em mừng rỡ, lộn cò vẫn vui.
Bao giờ tới lượt bọn em
Được mời các sếp một phen lộn cò.
Đọc Thêm…

"CỬ ÁN TỀ MI" Câu chuyện cảm động về đức hạnh của người đàn bà xấu xí

09:51:00 |
Đời Hậu Hán (25-219), ở đất Giang Nam có một chàng hàn sĩ tên Lương Hồng. Nhà nghèo, Lương Hồng ở trong túp lều tranh vách đất. Họ Lương chăm học biết trọng liêm sỉ, khí tiết, giữ đạo thanh bần cao đẹp. Đức hạnh, tài năng của chàng được người khâm phục, nổi tiếng khắp nơi.
Ở vùng địa phương có nàng Mạnh Quang vốn dòng nho gia giàu có nhứt vùng. Nàng tính nết đoan trang đức hạnh, đương độ kén chồng. Nhiều người thân hỏi, nàng trả lời rằng chỉ có người hiền đức như Lương Hồng mới xứng đáng là chồng.
Thấy nhà họ Mạnh đạo đức, Lương Hồng cùng nàng Mạnh Quang kết nghĩa đá vàng.
Khi làm lễ thành hôn, nàng Mạnh Quang mặc xiêm y lộng lẫy, trang sức toàn vàng ngọc đắt tiền, cốt làm đẹp cho chàng vừa ý. Nào ngờ trông thấy vợ trang sức rực rỡ, Lương Hồng không bằng lòng, bảy ngày đêm, chàng không làm lễ động phòng hoa chúc.
Nàng Mạnh Quang lấy làm lạ, kiểm điểm lại lời nói cử chỉ của mình không tỏ vẻ gì vô lễ. Nghĩ mãi, nàng ngờ rằng vì nàng trang sức lộng lẫy mà chồng không bằng lòng chăng. Nàng liền trút bỏ lớp áo quần tốt đẹp, đồ trang sức ngọc vàng, để mặc y phụcvải bô, cài thoa gai ra hầu chồng.
Thấy vợ như thế, Lương Hồng vui vẻ nói:
- Đây mới chính là vợ của ta. Hồng này không màng danh lợi, không ham của bạc vàng. Hồng chỉ muốn cùng vợ cày lấy ruộng, trồng lấy lúa, dệt lấy vải, sinh sống trong cảnh nghèo mà lúc nào cũng giữ tròn khí tiết, đạo đức, vợ lúc nào cũng kính trọngchồng và chồng lúc nào cũng nể yêu vợ.
Mạnh Quang nghe chồng nói rất lấy làm vui vẻ. Nàng đối với chồng rất mực cung kính. Mỗi bữa cơm, đối diện, nàng nâng mâm ngang mày để tỏ lòng kính trọng chồng.

Câu chuyện về nàng Mạnh Quang không chỉ dừng lại ở đó. Đức hạnh của của Nàng còn được lưu truyền bởi một câu chuyện khi vợ chồng nàng lâm vào cảnh sa cơ phải đi ở nhà người ta để kiếm cái ăn, Nàng vẫn rất mực cung kính với chồng, không có gì thay đổi.

Chuyện kể rằng trong một lần lên kinh thành Lạc Dương, thấy cảnh cung điện nguy nga tráng lệ, đối nghịch với cảnh lầm than của dân chúng Lương Hồng cảm thấy đau xót mà viết bài thơ bài thơ "Ngũ Y Ca". Một bài thơ có tư tưởng chính trị không đúng. Làm mất lòng Hán Chương Đế. Hán Chương Đế ra lệnh bắt người làm ra bài thơ này. Vợ chồng Mạnh Quang thay tên đổi lưu lạc chạy trốn khắp nơi, có lúc cả 2 vợ chồng đều phải làm người ở nhà người ta để kiếm miếng cơm ăn.
Mặc dù phải đi làm nô bộc, ở nhà thuê nhưng vợ chồng Lương Hồng vẫn giữ được những lễ nghi trước đây. Mỗi lần tới bữa ăn, Mạnh Quang đều đặt thức ăn trên một cái mâm gỗ, bê lên ngang mi mắt, cúi đầu và ân cần đưa cho chồng. Một lần, chủ nhà Cao Bá Thông đã vô tình bắt gặp hành động kính trọng chồng của Mạnh Quang và biết được thân phận của Lương Hồng nên đã coi vợ chồng họ là khách quý, Lương Hồng từ đó trú ẩn tại nhà Cao Bá Thông và cho ra đời những cuốn sách nổi tiếng cho tới lúc lâm bệnh qua đời.

Trong tác phẩm "Nhị độ mai", tác giả Vô danh, đoạn diễn tả cảnh Hoài Nguyên đi cống Hồ có làm bài thơ tặng tình nhân là Mai Lương Ngọc lúc chia ly, có câu:
Ngang mày Mạnh thị chưa nâng án,
Thấy mặt Chiêu Quân đã mất tranh.
"Mạnh thị" đây chỉ nàng Mạnh Quang. Về sau, những nhà có hôn lễ, nhà trai thường viết 4 chữ "Cử án tề mi" dán ở cửa phòng, chỉ rằng người vợ hiền đức.
Trong tác phẩm "Đoạn trường tân thanh" của cụ Nguyễn Du, lúc Kiều sang chơi nhà Kim Trọng, chàng nho sinh này có chiều âu yếm lả lơi, Kiều sợ chàng đi quá vòng lễ giáo, mới có câu khuyên:
Vẻ chi một đóa yêu đào,
Vườn hồng chi dám ngăn rào chim xanh.
Đã cho vào bực bố kinh.
Đạo tòng phu lấy chữ trinh làm đầu.
"Bố kinh" là "Bố quần, kinh thoa", nghĩa là quần bằng vải, trâm cài đầu bằng gai, chỉ người vợ hiền đức.
Đọc Thêm…

Sử dụng tùy chọn group để ẩn và hiển thị các cột excell

16:43:00 |
1. Chọn bảng của bạn.
2. Nhấn Shift + Alt + mũi tên phải.
3. Bạn sẽ thấy hộp thoại Group xuất hiện. Chọn Columns và nhấp OK để xác nhận.
Chú ý: Bạn cũng có thể mở hộp thoại trên bằng cách chọn Data -> Group -> Group
Chú ý: Bạn có thể chọn vùng dữ liệu và nhấn Shift + Alt + mũi tên trái để bỏ nhóm.
Thao tác này sẽ thêm các ký hiệu Outline đặc biệt vào bảng của bạn.
4. Bây giờ hãy chọn các cột bạn muốn ẩn từng cái một và nhấn Shift + Alt + mũi tên phải cho từng cột.
Chú ý: Không thể chọn cột không liền kề
Ngay khi bạn nhấn phím tắt, bạn sẽ thấy biểu tượng “-“  được thêm vào phía trên các cột đã chọn.
5. Nhấp vào biểu tượng “-“ sẽ ẩn cột và biểu tượng sẽ thay đổi sang “+” cho phép bạn bỏ ẩn dữ liệu.
6. Bạn cũng có thể sử dụng các con số nhỏ ở góc trên cùng bên trái. Chúng cho phép bạn ẩn và bỏ ẩn tất cả các nhóm cùng cấp ngay lập tức. Ví dụ: trong bảng trong hình, nhấp vào 1 sẽ ẩn toàn bộ bảng và nhấp vào 2 sẽ ẩn cột C và E. Điều này đặc biệt hữu ích nếu bạn cần tạo phân cấp của nhóm.
Đọc Thêm…

Excel to CI - Can't find Project or Library

13:30:00 |
Excel to CI libraries by default  it refer to 'PS_HOME/Excel' directory 
This error will due to the, this folder is not reachable for the excel.

If any excel to CI template will give below error. Follow the below steps to solve.

1. 
2. Click Ok & go to the Excel press < Alt + F11 > key. It will open Visual Basic Editor.

3. Follow the Screenshot

4. Check the missing library in below screenshot


  5. This RelLangMcro.xla will be located in 'PS_HOME/Excel' folder.

   Copy this file & paste into your current excel to CI folder.

 for eg: the Excel to Ci tmeplate present c:\test. place the missing file in C:\test.

:-)
Đọc Thêm…

Basic Steps to Create an Application Engine in PeopleSoft

13:18:00 |
In reviewing my statistics, I found that one common search was “basics steps to create an appengine in PeopleSoft”.  I hope the person(s) found what they were looking for on my blog.  Nonetheless, that gave me the idea to write a simple overview on creating a new Application Engine program.
This post can’t cover everything but I do plan to cover:
  • Creating a new Application Engine definition
  • Setting program properties
  • Understanding program flow
  • Inserting new sections, steps, and actions
  • Loops/logic
  • State records
  • Adding programs to projects
  • Where to go from here

Creating a new Application Engine Definition

Application Engine programs are definitions that are created and edited within Application Designer.  So, open Application Designer and log in.  Next, either use the File > New menu, press Ctrl + N, or click on the “New” icon on the toolbar.
File > New / Ctrl + N:
New icon on the toolbar:
After you do that, you should get a New dialog.  There is where you tell Application Designer what type of new object you want to create.  From here, you will want to choose the “App Engine Program” object type.
This should give you a new Application Engine program window:
You probably want to save your program as you go.  You can use File > Save or Ctrl + S or the Save icon on the toolbar.  The first save will prompt you for a name for your new program:

Settings Program Properties

The first thing you need to do is set your properties.  If nothing else, you need to check the “Disable Restart” button.  So, click on the properties button on the toolbar.
On the first tab of the properties, you should enter a general description of your program.  In the comments area, you want to describe in more detail what your program does.  You should also enter the date, author, and description of changes to the program throughout it’s lifetime.
Read on for more information about State Records later, but the State Records tab is where you connect the state record with your program.
This is the most important property to set.  On the fourth tab, make sure to check the disable restart option.  In my opinion, this should be default.  I don’t have room to go into all of the reasons, but let’s just say that in order to make a program restartable, you need to make several design decisions first.  If you want your program restartable, get it running first, check that your design is restartable, and then, come back here and uncheck the disable restart option.

Understanding Program Flow

The first that you need to understand is what the parts mean and how it runs each piece.  So, here are the parts:
  • Program: a complete application (or a library of functions)
  • Section: like a function in a regular language
  • Step: a single task; like a line of code in a regular language
  • Action: a single action; like a clause in a regular language
The most important thing to understand is that the program starts at the first step in the “MAIN” section.  It runs to the last step of the MAIN section in sequence.  At the last step, the program is done.  The other sections do not run unless they are explicitly called with a “Call Section” action.
Don’t let the names of the steps confuse you.  The name can be anything.  The step sequence number (circled below) is what controls the order of the steps.  If you’re not careful, the step names can confuse you.  In the following example, step02 runs first before step01.
Also, you can’t control the order of the actions.  You should have only one action per step unless you are doing looping.  If you do insert two actions into the same step, you can hit the refresh button on the toolbar and it will rearrange the actions in the order in which they will execute.

Inserting New Sections, Steps, and Actions

These three buttons on the toolbar insert new sections, steps, and actions (respectively).  You can also use the insert menu.
The part of the program you have selected is significant when inserting a new part.  When inserting a section, you used to have to select the previous section.  Also, the order of the sections does not matter, so once you hit the Refresh button it will alphabetize them by their name.  (Remember sections run in the order they are called from MAIN.)
To insert a step, select the step before, and it will insert the new step after what you have selected.  The program will never change the order of the steps.  If you want to reorder them, you have to cut and paste them in the new location.
To insert an action, select the action or step before, and it will insert the new action afterward.  Again, remember that you can’t control the order of the actions.  After you insert the action, you will need to change the type in the drop down:
For most of the actions, you will want to double click on the grey area of the action and open the PeopleCode or SQL editor.  This is what defines exactly what the action does.

Loops/Logic

Complex logic is best done inside of PeopleCode steps.  Note that you can have an App Engine program with a single PeopleCode step/action.  The PeopleCode can do all of the work for you.
That being said, you can do some logic flow with looping and such in the App Engine itself. This is accomplished with the following action types:
  • Do Select: like a for loop, loops through a set of rows
  • Do While: like a while loop
  • Do When: like an if statement
  • Call Section: branches to another section
First, let’s talk about Do Select.  It is compared to a “for” loop in other programming languages.  Really, it is looping through a result set of rows returned by a select statement.  So, you’ll define a SQL statement for the Do Select action.  The program will execute the statement and execute the following actions in the step for each row returned.
Keep in mind that you can only have one of each action type with each step.  If you need to execute two SQL statements for each row, you will have to create a new section with those SQL actions and use a Call Section with your Do Select.
Next, the Do While loop will go until no rows are returned.  It is similar to the Do Select except that it executes the SQL statement every iteration.  The actions following it are executed when the SQL statement returns 1 or more rows.  Also, note that the actions are executed once for each time the select statement is run no matter how many rows are returned.
Now, the Do When action is like an If statement.  Basically, if the select statement returns a row, that’s true.  If no rows result, it’s false.  So, if the Do When select statement returns a row or more, it executes the action.  If no rows are returned, it moves on to the next Step without running any more actions in the current step.
Finally, the Call Section action is simple: it just runs all the steps in the selected section and comes back to the next step.

State Records

Now, you have the program flow mastered, but you need to know how to pass information between the steps.  The State Record is your tool.  If you are familiar with COBOL, the state record is like the working storage area on a COBOL program.  Or, you could say that the state record is the variables for the App Engine program.
So, to create a state record, you just need to create a new record with a name that ends with “AET”.  You can create a new record the same way as you created the App Engine definition.
In your new record, you need to add at least three fields: PROCESS_INSTANCE, RUN_CNTRL_ID, and OPRID.  You can use the Insert > Fields menu to add fields.  The PROCESS_INSTANCE should be a key.
Next, on the record type tab, you should either select Derived/Work or you should select SQL Table.  If you choose SQL Table, you will need to go through the Build process when you create and each time you change the record.  If you use Derived/Work, you may loose the information in the state record when the program commits (which is no problem if the only commit you have is at the end).
Now, when you save it, make sure that you add the “AET” to the end of the name.  You will not be able to select it on the State Record screen unless it is named appropriately.
Once you have the state record saved, you need to connect it to the App Engine program.  To do so, open the App Engine properties and go to the State Record tab.  Enter the name of the state record in the search box, click the “Get List” button, select the record in the “Record List”, and finally click the “Add” button.
Finally, we can use our state record in our program.  With SQL statements, we can use two different meta-sql commands:
  • %Select: loads a value selected from the database into the state record
  • %Bind: places a value from the state record into a SQL statement
For example, the %Select in this statement will read the EMPLID returned by the select statement and place it in the state record.  Because this is a Do Select, it will fetch each row and run the rest of the actions in the step for each row.  When the action runs the first time, the EMPLID field in the state record will have the EMPLID from the first row as the actions run.  The state record will have the EMPLID from row 2 as the actions run the second time, and so on.
This next example uses %Bind to pull the value from the state record and insert it into a staging table.
Also, in PeopleCode steps, you can refer to the state record with the Record.Field syntax.  If you are familiar with PeopleCode on a page, you understand the buffer.  The buffer for a PeopleCode program in App Engine is your state record, and you access them as if they were in the buffer.

Running/Testing

The easiest, quickest way to test your new program is to run it from Application Designer.  When you have the main App Engine window active, you can click the Run button.  You can also use the Edit > Run Program… menu.
This opens the Run Dialog window.  You want to make sure that you select Output Log to File.  If you don’t, the window will close and you won’t be able to see any of the output.  I also uncheck the Run Minimized option so that I can see the window open and close more easily.  Pay attention to the Log File Name because the first thing you want to do when it is done is view the output.
You will eventually want to set most programs up to run online from a Run Control.  Creating a run control is outside of the scope of this post, but here are some thoughts that might help you toward that direction:
  • You will need to create a page with the process scheduler sub page on it and a component containing the page.
  • You will need to create a Process definition where the Process Type is application engine and the name is the same name as your program.
  • You will need to enter the new component name on the Process Definition and select a Process Group that you have access to.
  • When your program starts, PeopleTools will automatically populate the Process Instance, Operator ID, and Run Control ID fields for you.
  • One of the first steps in your program will be to select the parameters from your run control page into your state record.  You will use the Run Control ID and Operator ID that is pre-populated to get the correct values.

Adding Programs to Projects

As you create your program, you should be adding it to a project.  This ensures that once you have it working, you can easily migrate it to your test environment and eventually to production.  The catch is that the program has different parts that must be inserted individually.  The program as a whole must be in the project.  Each section must go into the project, as well as each individual SQL or PeopleCode program.
You run into problems when you miss a part.  App Designer cannot migrate a child definition if the parent definition does not exist in the target.  For example, you can’t migrate any sections if the parent App Engine program does not exist in your target environment.  You can’t migrate a Do Select SQL statement if the section with the parent step/action does not exist in the target.
As you go, I recommend using the F7 key to insert everything your create or change as you do it.  This ensures you don’t forget anything.  When you create a new section, you can right click on the section and insert it into the project:
Assuming you want all of the program and its parts in your project, you can use the insert related definitions option.  Remember, you only want to do this when you created the program by yourself.  If you only modified some of the parts, you only want the parts in your project that you actually changed.  To, use the option, press Ctrl + F7 or use the Insert > Definitions Into Project.  Before you insert the program into the project, highlight all of the Related Definitions.
Đọc Thêm…